Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

My own μwtf

std::string &token = Name;
и дальше в теле метода где-то используется token, а где-то - Name, причем по совершенно случайному принципу. Собственно, попытка понять этот принцип и привела к обнаружению этой написанной мной в 2005 году строчки.

Т.к. я - автор, могу объяснить, как такое вышло.

Обработка поля Name выполняется в несколько этапов. Первый этап - квадратичный, поэтому лучше перенести как можно больше обработки на последующий этап, что я и сделал тогда.

Метод Stage2 (названный PostValidate, что не несет смысловой нагрузки) представлял (и представляет) собой авгиевы конюшни, с которыми непонятно как бороться, ибо какого-то осмысленного разделения на подметоды невозможно придумать - получится что-то вроде stage2..stageN. Ну, добавив к сотням строк ещё два десятка, я не решился менять идентификатор token, используемый в старом методе, на идентификатор Name, используемый в новом методе, боясь где-то ошибиться и сделать name clash. Ну, и тупо сделал алиас, который жил спокойно четыре года. С тех пор я 20 раз модифицировал тот метод, и не замечал говна.
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments