Кодыңызды жақсартатын негізгі әзірлеуші ​​дағдысы

Кодыңызды жақсартатын негізгі әзірлеуші ​​дағдысы

Аудармашының алғысөзі: Осы мақаланы оқығаннан кейін сіз таң қалуыңыз немесе тіпті ашулануыңыз мүмкін. Иә, біз де таң қалдық: автор командадағы иерархия туралы, «оны тез және дәлелсіз орындаңыз» мәртебесі бар тапсырмаларды орнату туралы ешқашан естімеген сияқты. Иә, дұрыс, бұл біраз оғаш мәтін. Шынында да, автор бағдарламашыға жүйелік сәулетші рөлін алуды ұсынады - неге сізге сәулетші керек? Бірақ бұл қарсылықтардың бәрі сізді ең бастысы - неге біз бұл мәтінді алып, аудардық деп соқыр етпеуі керек. Ол рөлдер туралы айтпайды. Бұл мәтін кәсіби көзқарас пен хабардарлық туралы. Шындық мынада, егер сіз өзіңіздің әрекеттеріңіздің мағынасын ойламай, «айтқанды орындасаңыз», сіз ешқашан керемет бағдарламашы бола алмайсыз.

Қажет емес кодқа «жоқ» деп айтыңыз. Сізге тек үш әріпті біріктіріп, сөзді айту керек. Мұны бірге жасауға тырысайық: "Ноооо!"

Бірақ күте тұрыңыз. Неге біз мұны істеп жатырмыз? Өйткені, программисттің негізгі міндеті – код жазу. Бірақ сізден сұралған кодты жазу керек пе? Жоқ! «Кодты қашан жазбау керектігін түсіну бағдарламашы үшін ең маңызды дағды болуы мүмкін». Оқуға болатын код өнері.

Біз еске саламыз: «Хабрдың» барлық оқырмандары үшін - «Habr» жарнамалық кодын пайдаланып кез келген Skillbox курсына жазылу кезінде 10 000 рубль көлемінде жеңілдік.

Skillbox ұсынады: Практикалық курс «Мобильді әзірлеуші ​​PRO».

Бағдарламалау - бұл мәселені шешу өнері. Ал сендер осы өнердің шеберлерісіңдер.
Кейде жұмысты тезірек бастауға тырысып, біз тапсырманы орындаудан басқа ештеңе туралы ойламаймыз. Және бұл одан да күрделі проблемаларды тудыруы мүмкін.

Бағдарламашылар не нәрсеге көз жұмады?

Сіз жазған барлық код басқа әзірлеушілерге түсінікті болуы керек және сыналған және жөндеуден өткен болуы керек.

Бірақ мәселе бар: не жазсаңыз да, ол сіздің бағдарламалық жасақтаманы қиындатады және болашақта қателер енгізуі мүмкін.

Рич Скренттің айтуынша, код біздің жауымыз. Міне, ол не жазады:

«Код нашар, себебі ол шіри бастайды және тұрақты күтімді қажет етеді. Жаңа мүмкіндіктерді қосу жиі ескі кодты өзгертуді қажет етеді. Ол неғұрлым үлкен болса, қатенің пайда болу ықтималдығы соғұрлым жоғары болады және оны құрастыруға көп уақыт кетеді. Оны анықтау үшін басқа әзірлеушіге көбірек уақыт қажет. Ал егер рефакторинг қажет болса, онда өзгертуге тұрарлық фрагменттер міндетті түрде болады. Үлкен код көбінесе жобаның икемділігі мен функционалдығын төмендетеді. Қарапайым және талғампаз шешім күрделі кодқа қарағанда жылдамырақ».

Кодты қашан жазбау керектігін қайдан білуге ​​болады?

Мәселе мынада, бағдарламашылар көбінесе қолданбаға қажет мүмкіндіктердің санын көбейтеді. Нәтижесінде кодтың көптеген бөлімдері аяқталмай қалады немесе оларды ешкім қолданбайды, бірақ олар қолданбаны қиындатады.

Сіз жобаңызға не қажет және не қажет емес екенін нақты түсінуіңіз керек.

Мысал ретінде бір ғана тапсырманы шешетін қолданбаны келтіруге болады - электрондық поштаны басқару. Осы мақсатта екі функция – хаттарды жіберу және қабылдау енгізілді. Пошта менеджерінен бір уақытта тапсырмалар менеджері болады деп күтпеу керек.

Қолданбаның негізгі міндетіне қатысы жоқ мүмкіндіктерді қосу ұсыныстарына қатаң түрде «жоқ» деп айту керек. Дәл осы сәтте қосымша код қажет емес екені белгілі болады.

Қолданбаңыздың назарын ешқашан жоғалтпаңыз.

Әрқашан өзіңізден сұраңыз:

— Енді қандай функцияны жүзеге асыру керек?
— Қандай код жазуым керек?

Ойға келген идеяларға сұрақ қойыңыз және сырттан келген ұсыныстарды бағалаңыз. Әйтпесе, қосымша код жобаны жай ғана өлтіруі мүмкін.

Қажет емес нәрселерді қашан қоспау керектігін білу код базасын қатаң бақылауда ұстауға көмектеседі.

Кодыңызды жақсартатын негізгі әзірлеуші ​​дағдысы

Жолдың ең басында бағдарламалаушыда тек екі немесе үш бастапқы файл бар. Бәрі оңай. Қосымшаны құрастыру және іске қосу ең аз уақытты қажет етеді; Қайдан және нені іздеу керек екені әрқашан анық.

Қолданба кеңейген сайын көбірек кодтық файлдар пайда болады. Олардың әрқайсысы жүздеген жолдар бар каталогты толтырады. Мұның бәрін дұрыс ұйымдастыру үшін сізге қосымша каталогтар жасау керек болады. Сонымен қатар, қандай функциялардың не үшін жауапты екенін және қандай әрекеттер оларды тудыратынын есте сақтау барған сайын қиындай түсуде; қателерді ұстау да көп уақытты алады. Жобаны басқару да күрделене түсуде; бір емес, бірнеше әзірлеушілер бәрін бақылап отыруы керек. Сәйкесінше, ақшалай да, уақыттық та шығындар артып, даму процесі баяулайды.

Жоба ақырында үлкен болады және әрбір жаңа мүмкіндікті қосу көбірек күш жұмсайды. Тіпті өте елеусіз нәрсе үшін бірнеше сағат жұмсауға тура келеді. Бар қателерді түзету жаңаларының пайда болуына әкеліп соғады және қолданбаларды шығару мерзімдері өткізілмейді.

Енді біз жобаның өмірі үшін күресуіміз керек. Неліктен?

Мәселе мынада, сіз қосымша кодты қашан қоспау керектігін түсінбедіңіз және әрбір ұсыныс пен идеяға «иә» деп жауап бердіңіз. Сіз соқыр болдыңыз, жаңа нәрселерді жасауға деген ұмтылыс сізді маңызды фактілерді елемеуге мәжбүр етті.

Қорқынышты фильмнің сценарийі сияқты естіледі, солай ма?

«Иә» деп айта берсең, дәл осылай болады. Кодты қашан қосуға болмайтынын түсінуге тырысыңыз. Жобадан қажет емес заттарды алып тастаңыз - бұл сіздің өміріңізді айтарлықтай жеңілдетеді және қолданбаның қызмет ету мерзімін ұзартады.

«Менің ең нәтижелі күндерімнің бірі 1000 жол кодты жойған кезім болды».
- Кен Томпсон.

Кодты қашан жазбауды үйрену қиын. Бірақ бұл қажет.

Иә, сіз әзірлеуші ​​жолына енді ғана түскеніңізді және код жазғыңыз келетінін білемін. Бұл жақсы, бірінші әсерді жоғалтпаңыз, бірақ ынта-жігердің арқасында маңызды факторларды назардан тыс қалдырмаңыз. Біз бәрін сынақ пен қателік арқылы түсіндік. Сіз де қателіктер жіберіп, олардан сабақ аласыз. Бірақ жоғарыда айтылғандардан сабақ алсаңыз, жұмысыңыз саналы бола түседі.

Жасаңыз, бірақ қашан жоқ деп айту керектігін біліңіз.

Skillbox ұсынады:

Ақпарат көзі: www.habr.com

пікір қалдыру