Барои роҳати донишҷӯёни JavaRush, мо тасмим гирифтем, ки дар бораи мавзӯъҳои муҳимтарини барномасозӣ лексияҳо ва мақолаҳо ҷамъоварӣ кунем. Маҷмӯаи ҳаштум дар бораи чӣ гуна кор кардан бо code аст: қоидаҳои навиштани codeи баландсифат ва қоидаҳои рефакторинг, навиштани шарҳҳо дар code. Дар дастури хурд, мо моҳияти мақолаҳоро мухтасар баён мекунем ва агар шумо ба истиноди пайравӣ равед, шумо метавонед дар бораи мавзӯи таваҷҷӯҳ бештар маълумот гиред. Маҷмӯаро ба хатчӯбҳои худ илова кунед ва ҳангоми зарурат ба он баргардед.
Маколахо ва лекцияхо
Ин як дастури кӯтоҳ барои навиштани рамзи сатҳи баландтар аст. Дар мақола қоидаҳо ва мафҳумҳои асосӣ оварда шудаанд, ки ба эҷоди система ва кор бо интерфейсҳо, синфҳо ва an objectҳо алоқаманданд. Сохтори мақола "аз боло ба поён", яъне аз сохтори умумии ариза ба ҷузъиёти бештар нигаронидашуда ташаккул меёбад.
Дар ин мақола номи дурусти унсурҳои муайян баррасӣ хоҳад шуд. Номҳои дуруст хондани codeро хеле осон мекунанд. Дар мақола инчунин намунаҳои шарҳҳо дар codeекс оварда шудаанд.
Маслиҳатҳои рушд ҳеҷ гоҳ зиёдатӣ нахоҳанд буд, хусусан агар шумо нав ба навиштани code шурӯъ кунед. Дар мақола тавсияҳо оид ба таҳлor codeҳо мавҷуданд, ки ба забони Java хосанд.
Ҳангоми мониторинги сифати code, муҳим аст, ки сифати шарҳҳое, ки ин codeро ҳамроҳӣ мекунанд, ба ёд оред. Ин мақола шуморо бо мавзӯи шарҳдиҳӣ шинос мекунад ва чаро он вақтро сарф мекунад.
Кор бо codeе, ки ягон каси дигар навиштааст, метавонад ба баъзе мушкилот оварда расонад. Рамз метавонад ба технологияе дахл дошта бошад, ки барои шумо ношинос аст. Шояд ин codeекс ба такмил ниёз дошта бошад. Ё шояд эҳтиёҷоти фаврӣ барои ислоҳи хатое, ки дар пойгоҳи codeи кӯҳна пайдо шудааст, вуҷуд дорад. Дар ин матн, муаллиф якчанд маслиҳат медиҳад, ки метавонанд кор бо codeи кӯҳнаро осон кунанд.
Баррасии мақола дар бораи воситаҳои таҳлor codeи статикӣ. Онҳо метавонанд ба шумо дар пайдо ва ислоҳи codeи мушкил пеш аз он ки ба истеҳсолот ворид шаванд, кӯмак расонанд. Матн баъзе асбобҳои маъмули таҳлor статикиро муаррифӣ мекунад, ки метавонанд барои санҷиши code дар ҳолатҳои гуногун истифода шаванд. Масалан, DeepSource ё SonarQube.
Ин як чизи дигар аст, ки рамзи шахсии худро аз нав дида бароед, чизи дигар - рамзи меросӣ. Ин хеле мураккабтар аст. Матн маслиҳатҳоро оид ба кор бо рамзи меросӣ медиҳад.
Яке аз роҳҳои баланд бардоштани сифати codeи ширкат ин рефакторинг мебошад. Он аксар вақт нодида гирифта мешавад, зеро он барои корбарон амалан ноаён аст. Рамз ҳоло ҳам кор мекунад, бинобар ин ҳама чиз хуб аст, дуруст? Бо вуҷуди ин, рамзи мушкилот ва печида ба суръати маҳсулот ва кори умумии он таъсир мерасонад. Муаллифи мақола дар бораи манфиатҳои асосие, ки аз рефакторинги code ба даст овардан мумкин аст, нақл мекунад.
Ҳар як шахс метавонад навиштани codeро ёд гирад. Аммо шумо метавонед онро тоза нависед? Дар ин мақола муаллиф усулҳои худро барои навиштани рамзи тоза нишон медиҳад. Маслиҳатҳо соддаанд, аз ин рӯ ҳатто як навкор метавонад онҳоро идора кунад.
Воситаҳои муосир раванди рушдро осон мекунанд. Аз ҷумла, назорат кардани услуби codeи шумо осонтар аст ва кӯшиш кунед, ки форматкунии "беиҷозат"-и онро кам кунед. Ин барраси дар бораи кадом воситаҳо IntelliJ Idea IDE ба таҳиякунанда пешкаш мекунад, то codeро барои хондан ва осон фаҳмо гардонад.
Матн ду маслиҳати оддиеро пешниҳод мекунад, ки ба таҳиягари навкор дар хондани рамзи одамони дигар кӯмак мекунанд. Хондан ва дар амал татбиқ кардан.
Мақолаи дигар дар бораи чӣ гуна беҳтар кардани codeи шумо. Ин дафъа калон аст. Он дорои бисёр маслиҳатҳои оддӣ мебошад. Масалан, яке аз онҳо навиштани санҷишҳои воҳидӣ мебошад. Дар бораи боқимонда дар матн хонед.
Навиштани рамзи тоза он қадар осон нест. Ин кори душвору душвор аст. Тавассути озмоиш ва хатогӣ, шумо бо такрори такрори ҳамон қадамҳо то он даме, ки ҳалли дилхоҳатонро пайдо кунед, беҳтар хоҳед шуд. Ин мақола якчанд маслиҳатҳоро номбар мекунад, ки ба шумо дар ёд гирифтани codeи тоза кӯмак мекунанд.
Дар нармафзор, антипаттерн истилоҳест, ки ба усулҳое дахл дорад, ки ҳангоми ҳалли мушкилот набояд истифода шаванд. Муаллиф дар бораи шаш антипаттернҳои маъмултарин сӯҳбат мекунад: рамзи спагетти, болғаи тиллоӣ, лангари қаиқ, рамзи мурда, паҳншавии code ва an objectи илоҳӣ.
Ин матн мавзӯи набудани назорат аз болои сифати code дар ширкатҳои IT ва чаро муҳим будани онро баррасӣ мекунад. Шумо мефаҳмед, ки қарзи техникӣ чист, чаро автоматизатсия калиди муваффақият аст ва чӣ гуна сохтани раванди назорати сифати code.
Эҳтимол шумо истилоҳи "таҳлor статикӣ"-ро шунидаед. Аксар вақт, он ба ягон восита ё усули маъруф ишора мекунад. Аммо дар асл, якчанд навъҳои таҳлor статикӣ мавҷуданд, ки ҳар кадоми онҳо ҳангоми истифода маънои мушаххас доранд. Кадом намудҳои таҳлил вуҷуд доранд, дар ин мақола муҳокима хоҳанд шуд.
Видеоҳо
SOLID панҷ принсипи тарҳрезии барномасозии ба an object нигаронидашуда мебошад. Илова ба назарияе, ки ҳангоми мусоҳиба аз шумо пурсида мешавад, шумо инчунин бояд аз рӯи принсипҳои SOLID чӣ гуна навиштани codeро омӯзед. Чӣ тавр ба даст овардани ин дар гузориши таҳиягари пешбари дафтари EPAM дар Санкт-Петербург, Александр Бармин муҳокима карда мешавад. Муаррифии муаллиф бо мисолҳои codeи Java "тоза" мувофиқи шартҳои SOLID навишта шудааст. Муаллиф ба саволхои тамошобинон низ чавоб медихад.
Бонус
Мақола ба баррасии китоби "Кодекси пок"-и Роберт Мартин бахшида шудааст. Муаллиф роҳҳои такмил ва оптимизатсияи codeро дида мебарояд ва дар охир як масъалаи хурд, вале ҷолибро медиҳад.
Дигар маводҳо дар силсила: |
|
GO TO FULL VERSION