Вие може да сте любител или професионалист в програмирането, но независимо от уменията ви, всеки от нас среща имена в нашата програма навсякъде. Независимо дали става въпрос за променлива, функция, клас, пакет, аргумент, всяко едно от тях е име, което трябва да дефинираме сами. Тъй като се занимаваме повече с тях, по-добре е да го направим добре. Тази статия ще ви помогне в този процес.
Нека го разделим на няколко подтеми, както следва:
- Използвайте имена, разкриващи намеренията
- Избягвайте дезинформацията
- Използвайте произносими имена
- Използвайте имена с възможност за търсене
Използвайте имена, разкриващи намеренията
Въпреки че смятаме, че това не е нещо, на което трябва да наблягаме повече в една програма, спестява повече, отколкото е необходимо. Всеки, който прочете кода, ще разбере намерението каква е целта зад думата и това ще направи тях, както и вас, приятни да четат кода. 😃
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.