Тъй като значението на „програмен код“ е еднозначно, основният въпрос е какво е висококачествен. Според тълковния речник качество е „степен на съответствие на предмета на това, което трябва да бъде“. Оттук следва, че висококачественият програмен код трябва да в огромна степен да съответства на това, което той трябва да представлява. А какво трябва да представлява той?

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

FSM За щастие повечето софтуерни проекти имат сходни цели по отношение на кода, а предният ми пример бе изолиран частен случай. Основното изискване към програмния код е да работи правилно според изискванията и очакванията. Нуждата от поддръжка и изменение обуславя и изисквания за четимост, разбираемост и лесно надграждане според нуждите. Сериозните проекти се пишат от десетки до стотици софтуерни инженери през целия им жизнен цикъл. Всеки програмист работи върху чужд код, както и неговият код се чете и евентуално изменя от колегите му. Ето защо е задължително да се осигурят предпоставките за успешна съвместна работа. За целта трябва да се спазват следните изисквания:

  • Спазване на общоприетите конвенции за форматиране и именуване, както и на по-тесните вътрешнофирмени такива;
  • Обстойно коментиране и документиране на кода;
  • Организация на кода съобразена с по-лесното му разчитане, дизайн на методите и класовете отчитащ разбирането и поддръжката им от несвързани с разработването им програмисти.

codeДруга характеристика на висококачествения код е свеждането на грешките в него до минимум посредством подходящо тестване в процеса на разработка. Освен това кодът трябва да има коректно поведение при некоректен вход.

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

Leave a Reply

Your email address will not be published. Required fields are marked *

58 + = 67