11.7. Імена, яких слід уникати

Нижче я описав деякі типи імен, яких слід уникати.

Уникайте оманливих імен або абревіатур Переконайтеся, що ім'я не є двозначним. Скажімо, FALSE зазвичай є протилежністю TRUE і використовувати таке ім'я як скорочення фрази «Fig and Almond Season» було б безглуздо.

Уникайте імен, які мають схожі значення Якщо є можливість, що ви можете сплутати імена двох змінних і це не призведе до помилки компіляції, перейменуйте обидві змінні. Наприклад, пари імен input і inputValue , recordNum і numRecords або fileNumber і fileIndex так схожі з семантичної точки зору, що якщо ви будете використовувати їх в одному фрагменті коду, то зможете легко їх сплутати, внісши в код невловимі помилки.

Уникайте змінних, що мають різну суть, але схожі імена Якщо у вас є дві таких змінних, намагайтеся перейменувати одну з них або змінити абревіатури. Уникайте імен типу clientRecs і clientReps . Вони різняться лише однією літерою, і це важко помітити. Вибирайте імена, які відрізняються хоча б двома літерами або першою/останньою літерою. Імена clientRecords та cli% entReports кращі, ніж початкові імена.

Уникайте імен, які мають схоже звучання, таких як wrap і rap Коли ви намагаєтеся обговорити код з іншими людьми, іноді в розмову втручаються омоніми. Так, одним із найкумедніших аспектів екстремального програмування (Beck, 2000) є занадто хитре використання термінів «Goal Donor» і «Gold Owner» 1 , які звучать практично однаково. У результаті розмова може прийняти такий оборот:

1 Що буквально перекладається як «донор мети» та «власник золота». В екстремальному програмуванні так називають ролі людей, які відповідно ставлять перед розробниками завдання і фінансуютьпроект. - Прим. перев.

278 ЧАСТИНА III Змінні

— Я щойно розмовляв із Goal Donor.

- Що ти сказав? "Gold Owner" або "Goal Donor"?

- Я сказав "Goal Donor".

- Ясно, Goal Donor. Не треба кричати, чорт забирай (Goll' Darn it).

— Яке ще золоте кільце (Gold Donut)?

Уникайте орфографічних помилок Згадати правильні імена змінних і так досить важко. Вимагати запам'ятовування «правильних» орфографічних помилок — це занадто. Наприклад, якщо ви вирішите заощадити три букви і заміните слово highlight на hilite, програмісту, що читає код, буде неймовірно важко згадати, на що ж ви його замінили. На highlite? hilite? hilight? hilit? jai%a%lai%t ? Хто його знає.

Уникайте слів, при написанні яких люди часто припускаються помилок Absense , acummulate , acsend , calender , concieve , defferred , definate , independance , occassionally , prefered , reciept , superseed і багато інших орфографічних помилок дуже поширені в . Список подібних слів можна знайти у більшості довідників з англійської мови. Не використовуйте такі слова в іменах змінних.

Проводьте різницю між іменами як по регістру літер Якщо ви програмуєте на C++ чи іншій мові, у якому регістр літер грає роль, ви можете піддатися спокусі скоротити поняття fired , final review duty і full revenue disbursal відповідно до frd , FRD і Frd . Уникайте цього підходу. Хоча ці імена унікальні, їхній зв'язок з конкретними значеннями довільний і незрозумілий. Ім'я

Frd може з тим самим успіхом позначати final review duty, а FRD — full revenue disbursal, і ніяке логічне правило не допоможе вам або комусь іншому запам'ятати, що є що.

Уникайте змішуванняприродних мов Якщо в проекті беруть участь програми різних національностей, зобов'яжіть їх іменувати всі елементи програми, використовуючи одну природну мову. Зрозуміти код іншого програміста непросто; а код, написаний на південно-східному діалекті марсіанської мови, неможливо.

Ще більш тонка проблема пов'язані з наявністю різних діалектів англійської. Якщо в проекті беруть участь представники різних англомовних країн.

яких

РОЗДІЛ 11 Сила імен змінних

лайте стандартом той чи інший варіант англійської мови, щоб вам не довелося згадувати, як називається конкретна змінна: "color" або "colour", "check" або "cheque" і т. д.

Уникайте імен стандартних типів, змінних та методів Усі мови програмування мають зарезервовані та визначені імена. Переглядайте час від часу списки таких імен, щоб не вторгатися у володіння використовуваної мови. Так, наступний фрагмент цілком допустимо при програмуванні на PL/I, але написати ТАКЕ може тільки ідіот з довідкою:

if if = then then then = else;

Не використовуйте імена, які абсолютно не пов'язані з тим, що представляють змінні Використання імен на кшталт margaret і pookie практично гарантує, що ніхто інший їх не зрозуміє. Не називайте змінні на честь дівчини, дружини, улюбленого сорту пива і т. д., якщо тільки дівчина, дружина або сорт пива не є представленими в програмі «сутностями». Але навіть тоді ви повинні розуміти, що все у світі змінюється, тому імена дівчина , дружина та коханийСортПива набагато краще!

Уникайте імен, що містять символи, які можна сплутати з іншими символами Пам'ятайте, що деякі символи виглядають дуже схожими. Якщо два імені відрізняються лише одним символом, ви можетезіткнутися з проблемами. Спробуйте, наприклад, визначити, яке з імен є зайвим у кожній трійці: