Share via


THOU SHALT GIVE MNEMONIC NAMES TO THY VARIABLES или о важности мнемоники

? ??????????? ???? ????? ????? ????? ?? ???????????? ?????? ????. ?????? ???????????? - ??? ?????????, ??? ????????, ???? ??????? ?????????? ????? ????? ? ???????? ???? ??? ???????? ???????, ????? ????????? ??????? ?? ?? ????? ?????? ?? ????????, ???? ??????...

?????????? ????????? ?????? (? ?????? ????? ?????) ??? ?????? ? ???????? ?????????? ?? ? ??????? ???????. ?????? ??? ???? ???????? ?????????? ? ??????? ???????, ? ??? ? ??????????????? - ??? - ?????????? ?????? ?????? ????????... ??, ????? ????, ?????????? ?? ????, ?? ???????????? ??????????, ?? ???????????? ?????... ??, ???, ??? ????? ?????????, ? ??? ????? ?? ???? ?? ????????! ??, ??, ?????? ??????????????? ?????? ?????????? ?? ????????????? ??? ???, ?? ??? ? ?????-?? ? ???. ? ?? ??? ? ????? ?? ?????? ????, ????????? ???? ????????? ??? ??????????, ??? ?? ????? ?? ?????????. ? ?????????? ????? ??????.

???, ??????. ? ???, ????? ????? ????? ? ??????????? ???????? ? ?????... ??????????? ?????????? ?????????? GeoFence, ??????????????? ??? ??????? ??????? ? IP ??????? ?????? ??? ?? ???? ???, ???????? ??? ?????? ???? ?????? ?? ???... ?????? ? ????? ??????? ????? ????? ????? ??????????? ???????? ????? #$%&! @#& *()+ @#$%! ??, ? ??? ?????....

? ?????, ?????????????? ?????????? ? NoGeoFence ? ??????? ???????? ????, ??? ??? ???????????? ????????? ???????? ? ???? ?????, ????????????? ?? ???? ?????????. ? ??????? ?? ??? ???????? ???????, ????? ?????.... ???, ??????... "??????, ??"?

----
??, ??, ?????-???? ? ????????????? ?????...

Comments

  • Anonymous
    January 01, 2003
    Иероглиф, Валера, бывает все-таки confusing. Не говоря уж о тех, кто может его понять. Интересно, ты обратил мое внимание на интересный и несколько грустный феномен: мне уже никогда не увидеть египеские иероглифы глазами непосвященного...

  • Anonymous
    January 01, 2003
    Полностью согласен, уже планирую переименовать сегодня в IsUsIpAddress

  • Anonymous
    August 13, 2008
    По моему опыту, если кто-то в имя булевой переменной сажает "No..." или "DoNot...", то вероятность того, что кто-то другой сделает ошибку в использовании переменной, подскакивает до неприличия, особенно если надо написать !NoGeoFence. Что интересно, синонимы таким свойством не обладают, всякие "Ignore..." или "Disable..." или "Suppress..." приводят к не большему количеству ошибок, чем зеркальные им "Use...", "Enable..." и "Force...". Почему -- не знаю. Сказывается непопулярность в английском двойного отрицания?

  • Anonymous
    August 15, 2008
    А не надо читать имена. Воспринимайте их, как иероглифы. Надо смотреть в определение, и запоминать для себя, что этот иероглиф обозначает вот это. Так, кстати, и с венгерской нотацией. Не надо считать, что префикс dw означает DWORD. Тип переменной определяет её определение в языке, а не имя. И этот тип мог сто раз поменяться с того времени, когда было придумано имя. А переименование может вызвать кучу измемений в исходном коде, что затруднит интеграцию измемений between branches (как это по русски, ветви?).

  • Anonymous
    August 21, 2008
    > А не надо читать имена. Воспринимайте их, как иероглифы. Много ли вы напишете таким способом, если объём исходников -- 20 мегов, а для работы вам надо помнить хотя бы 2 мега если не наизусть, то близко к тексту, и оперативно учить другие 2 мега при переходе от куска к куску? С ростом кода возникает другая проблема -- ломы писать слишком уж длинные идентификаторы, вроде sparp_gp_trav_eq_restr_from_connected_receivers_expn_subq . Но как обойтись без этого, если одних только sparp_gp_trav_[a-z0-9_]+ есть ещё 40 штук?

  • Anonymous
    November 19, 2008
    да.. надо тщательнее выбирать имена переменных :)