Вие може да сте любител или професионалист в програмирането, но независимо от уменията ви, всеки от нас среща имена в нашата програма навсякъде. Независимо дали става въпрос за променлива, функция, клас, пакет, аргумент, всяко едно от тях е име, което трябва да дефинираме сами. Тъй като се занимаваме повече с тях, по-добре е да го направим добре. Тази статия ще ви помогне в този процес.

Нека го разделим на няколко подтеми, както следва:

  • Използвайте имена, разкриващи намеренията
  • Избягвайте дезинформацията
  • Използвайте произносими имена
  • Използвайте имена с възможност за търсене

Използвайте имена, разкриващи намеренията

Въпреки че смятаме, че това не е нещо, на което трябва да наблягаме повече в една програма, спестява повече, отколкото е необходимо. Всеки, който прочете кода, ще разбере намерението каква е целта зад думата и това ще направи тях, както и вас, приятни да четат кода. 😃

int a;  //  number of units

Тук можем да видим, че дефинираната променлива ‘a’ е описана с коментар. Защото името "а" не означава нищо. Ако името изисква коментар, тогава името не разкрива намерението му.

Вместо това можем да използваме име, както е показано по-долу:

int numberOfUnits;
int unitCount;

Виждаме, че всяко име само по себе си извежда намерението за него. Така е по-разбираемо и приятно за четене от всеки. Освен това ни позволява да правим промени много по-лесно в бъдеще.

Избягвайте дезинформацията

Като програмисти е по-добре да избягвате инициализиране на улики с фалшиви имена, които могат да направят смисъла на кода неясен. Например; hp, aix и sco биха били лоши имена на променливи, защото са имената на Unix платформи или варианти.

Също така, трябва да избягваме използването на имена като свързване на думата „Списък“ с имена, освен ако това всъщност не е списък. Тъй като думата List е специфична дума за програмисти, тя може да подведе читателя.

Като пример:

String nameList;
String productList;

Можем да заменим имената на горните променливи като:

String nameGroup;  // or String groupOfNames;
String setOfProducts;

Тогава става дума за информация и дезинформация. Правописът на подобни понятия по подобен начин е информация. Използването на непоследователен правопис е дезинформация. Много е полезно, ако имената за много подобни неща се сортират заедно по азбучен ред и ако разликите са много очевидни, защото разработчикът вероятно ще избере обект по име без колебание.

Често срещана грешка при дезинформация е използването на малки букви „L“ или главни букви „O“ за имена на променливи. Които най-вероятно ще се объркат съответно с числото 1(едно) и числото 0(нула).

int a = l;
if ( O == l )
   a = O1;
else
   l = 01;`

Тук можем да видим пример за използване на горепосочената употреба на дезинформация. Проблемът е, че изглеждат почти еднакви, както се виждат и това може да обърка читателя, както и програмиста. Така че трябва да премахнем използването на дезинформация вместо информация.

Използвайте имена, които могат да се произнасят и да се търсят

Може би се чудите защо имената трябва да са произносими, когато просто се крият зад кода и никога не изглеждат изписани. Но всъщност те се четат и редактират от различни разработчици или може би от нови разработчици. Ако не можете да го произнесете, не можете да го обсъдите с останалите хора и няма да успеете да дадете точната идея или намерението на съответното име.

class DtaRcrd102 {
private Date genymdhms;
private Date modymdhms;
private final String pszqint = "102";
* ... */
};

Можем да променим горния примерен код като:

class Customer {
private Date generationTimestamp;
private Date modificationTimestamp;;
private final String recordId = "102";
/* ... */
};

Значението на използването на имена с възможност за търсене; имената, които декларираме, не трябва да бъдат еднобуквени имена или числови константи, тъй като те не могат да бъдат разположени в огромна част от текста. Като пример:

int e;

Буквата ‘e’ е често срещана буква в английския език и ще се появява често в целия код. И така, ако трябваше да намерим тази константа, тя ще даде толкова много резултати, които ще се покажат във всеки пасаж. Не искаме да имаме такова разпръскване. Така че по-добре да не използвате такива единични букви или числова константа, освен че е локална променлива в кратък метод.

for (int j=0; j < NUMBER_OF_UNITS; j++)

Това са някои важни фактори, върху които трябва да се съсредоточим, когато кодираме програма и следването им като навик може да направи кода ви по-структурен и четим за вас, както и за читателите. Следвайте тези прости стъпки и вижте дали няма да подобрите четливостта на вашия код. 😎

Благодарим ви, че прочетохте!

Нека се запознаем с повече правила за кодиране в част 2 на тази тема.

Референции

Мартин, Робърт Сесил. Чист код: Наръчник за гъвкав софтуер Craftsmanship. Prentice Hall, 2009 г.

Гюзел, Бурак. „Топ 15+ най-добри практики за писане на супер четим код.“ Код Envato Tuts+, Envato Tuts, 30 март 2011 г., https://code.tutsplus.com/tutorials/top-15-best-practices-for-writing-super-readable-code — net-8118.