Основна вештина програмера која ће ваш код учинити бољим

Основна вештина програмера која ће ваш код учинити бољим

Предговор преводиоца: Након читања овог чланка, можда ћете бити изненађени или чак љути. Да, и ми смо били изненађени: аутор наводно никада није чуо за хијерархију у тиму, за постављање задатака са статусом „ради брзо и без образложења“. Да, тако је, ово је мало чудан текст. Заиста, аутор предлаже да програмер преузме улогу системског архитекте – зашто вам је онда потребан архитекта? Али све ове замерке не би требало да вас заслепе за оно главно – зашто смо ипак узели и превели овај текст. Он не говори о улогама. Овај текст говори о професионалном приступу и свести. Истина је да све док само „радите оно што вам се каже“ без размишљања о значењу својих поступака, никада нећете постати велики програмер.

Реците не непотребном коду. Све што треба да урадите је да спојите три слова и изговорите реч. Хајде да покушамо да урадимо ово заједно: "Нееее!"

Али чекај. Зашто ово радимо? На крају крајева, главни задатак програмера је писање кода. Али да ли треба да напишете било који код који се од вас тражи? Не! „Разумевање када не треба писати код је вероватно најважнија вештина за програмера. Уметност читљивог кода.

Подсећамо: за све читаоце „Хабра“ – попуст од 10 рубаља при упису на било који курс Скиллбок користећи промотивни код „Хабр“.

Скиллбок препоручује: Практични курс „Програмер за мобилне уређаје“.

Програмирање је уметност решавања проблема. А ви сте мајстори ове уметности.
Понекад, у настојању да што пре започнемо посао, не размишљамо ни о чему другом осим о томе да завршимо задатак који је пред нама. А то може изазвати још озбиљније проблеме.

На шта програмери затварају очи?

Сав код који напишете мора бити разумљив другим програмерима и мора бити тестиран и отклоњен.

Али постоји проблем: шта год да напишете, то ће закомпликовати ваш софтвер и вероватно увести грешке у будућности.

Према Ричу Скренту, код је наш непријатељ. Ево шта он пише:

„Шифра је лоша јер почиње да трули и захтева стално одржавање. Додавање нових функција често захтева измену старог кода. Што је већи, већа је вероватноћа да дође до грешке и више времена је потребно за компајлирање. Другом програмеру је потребно више времена да то схвати. А ако је потребно рефакторисање, онда ће сигурно бити фрагмената који вреди променити. Велики код често значи смањену флексибилност и функционалност пројекта. Једноставно и елегантно решење је брже од сложеног кода.”

Како знати када не треба писати код?

Проблем је у томе што програмери често преувеличавају број функција које су потребне њиховој апликацији. Као резултат тога, многи делови кода остају недовршени или их нико не користи, али они компликују апликацију.

Морате јасно разумети шта вашем пројекту треба, а шта не.

Пример је апликација која решава само један задатак - управљање е-поштом. У ту сврху уведене су две функције – слање и пријем писама. Не бисте требали очекивати да менаџер поште истовремено постане менаџер задатака.

Морате чврсто рећи „не“ предлозима за додавање функција које нису повезане са главним задатком апликације. То је управо тренутак када постаје јасно да додатни код није потребан.

Никада не губите фокус своје апликације.

Увек се питајте:

— Коју функцију сада треба имплементирати?
— Који код да напишем?

Преиспитујте идеје које вам падају на памет и процените сугестије које долазе споља. У супротном, додатни код може једноставно убити пројекат.

Знати када не треба додати непотребне ствари помоћи ће вам да своју базу кода држите под чврстом контролом.

Основна вештина програмера која ће ваш код учинити бољим

На самом почетку пута, програмер има само два или три изворна фајла. То је једноставно. Састављање и покретање апликације захтева минимум времена; Увек је јасно где и шта тражити.

Како се апликација шири, појављује се све више и више кодних датотека. Они пуне каталог, сваки са стотинама редова. Да бисте све ово правилно организовали, мораћете да креирате додатне директоријуме. Истовремено, памћење које функције су одговорне за шта и које радње их изазивају постаје све теже; хватање грешака такође захтева више времена. Управљање пројектима такође постаје сложеније; потребно је не један, већ неколико програмера да све прате. Сходно томе, трошкови, и новчани и временски, расту, а развојни процес успорава.

Пројекат на крају постаје огроман, а додавање сваке нове функције захтева све више труда. Чак и за нешто веома безначајно морате провести неколико сати. Исправљање постојећих грешака доводи до појаве нових, а рокови за објављивање апликација се пропуштају.

Сада морамо да се боримо за живот пројекта. Зашто?

Чињеница је да једноставно нисте разумели када не треба да додајете додатни код и одговарали сте са „да“ на сваки предлог и идеју. Били сте слепи, жеља за стварањем нових ствари натерала вас је да игноришете важне чињенице.

Звучи као сценарио за хорор филм, зар не?

Управо то ће се догодити ако наставите да говорите да. Покушајте да разумете када код не треба да се додаје. Уклоните непотребне ствари из пројекта - ово ће вам знатно олакшати живот и продужити живот апликације.

„Један од мојих најпродуктивнијих дана био је када сам избрисао 1000 линија кода.
— Кен Томпсон.

Тешко је научити када не писати код. Али неопходно је.

Да, знам да сте управо кренули на пут програмера и желите да пишете код. Добро је, не губите тај први утисак, али не губите из вида важне факторе због ентузијазма. Све смо схватили путем покушаја и грешака. Такође ћете правити грешке и учити из њих. Али ако можете научити из горе наведеног, ваш рад ће постати свеснији.

Наставите да стварате, али знајте када да кажете не.

Скиллбок препоручује:

Извор: ввв.хабр.цом

Додај коментар