Барлығына сәлем, JavaRush қауымдастығы! Бүгін біз code сапасы туралы айтатын боламыз. Иә, иә, қымбатты достар. Ешкім мінсіз емес. Әркім бір күні codeтың жақсырақ болуы мүмкін екенін түсінеді ... Бірақ бұл жағдайда не істеу керек? Кем дегенде, осы мәселені зерттеуді бастаңыз. Сіз осында болғандықтан, бұл тақырып сізге қызықты дегенді білдіреді, сондықтан кеттік. Бүгін біз codeты жақсарту және таза ету жолдарын сипаттайтын боламыз. Болашақта қазіргі codeыңыздан ұялмауыңыз үшін!..)) Бұл әдістердің барлығы бағдарламашыға жақсы бағдарламашы болуға көмектеседі.
Habré JavaRush :D туралы мақалаларды оқыңыз, соның ішінде менікі. Жақсы блогтарды қадағалаңыз және жазбаларға түсініктеме беріңіз, өз пікіріңізбен бөлісіңіз.
1. Кодыңызды жақсартқыңыз келсе, басқа біреудің codeын оқыңыз
Бағдарламалау дағдыларыңызды күрт жақсартқыңыз келсе, сізге... басқа бағдарламашылар жазған codeты оқу керек. Оған сенуге болады, сенуге болмайды. Бірақ егер сіз тәуекелге барсаңыз, уақытыңыз үшін сый болады деп уәде беремін. Мысалы, Habré сайтында HashMap, ArrayList, LinkedList және т.б. қалай жұмыс істейтінін оқымаңыз, бірақ олардың codeын оқып, оны өзіңіз анықтаңыз. Мұнда оқуға болатын сабақтар тізімі берілген:-
HashMap - сұхбатта ең жиі қойылатын сұрақ. Бір таспен бірнеше құсты өлтіруге болады: codeты түсініп, қажетті білімді алыңыз.
-
ArrayList - HashMap-пен бірдей жағдай. Онда күрделі нәрселер жоқ, бірақ оны оқып, түсінуге тұрарлық.
-
String - тамаша үлгі. Неліктен өзгермейтінін түсініңіз.
-
AtomicInteger - керемет сынып: ол Integer нысандарында атомдық әрекеттерді орындау процесін сипаттайды.
-
Содан кейін - кем дегенде бір қатардағы барлық сыныптар ...)
2. Код конвенцияларын орындаңыз - code жазуға арналған конвенциялар
Кодтау конвенциялары - компанияда немесе белгілі бір жобада жазылған codeтың әрбір аспектісіне арналған бағдарламалау стилі мен әдістеріне арналған нұсқауларды қамтитын әзірлеу топтары әзірлеген нұсқаулар жиынтығы. Бұл конвенциялар әдетте әрбір бағдарламалау тіліне тән және файлдарды ұйымдастыруды, шегіністерді, түсініктемелерді, мәлімдемелерді, операторларды, бос орынды, атау конвенцияларын, бағдарламалау әдістері мен принциптерін, бағдарламалау ережелерін, архитектуралық үздік тәжірибелерді және т.б. қамтиды. Кейбір стандарттардың басты артықшылығы мынада: code бірдей көрінеді және бір стильде жазылған. Бұл оны оқуға ыңғайлы етеді және бағдарламашыларға басқа бағдарламашы жазған codeты түсінуге көмектеседі. Егер codeтау стандарттары сақталса және әзірлеу процесінде дәйекті түрде қолданылса, codeты сақтау және кеңейту, оны қайта өңдеу және болашақта интеграциялық қайшылықтарды шешу оңайырақ болады. Кодтау конвенциялары бағдарламашылар үшін бірнеше себептерге байланысты маңызды:- Бағдарламалық қамтамасыз ету құнының 40%-80% оны ұстауға жұмсалады;
- Author өмір бойы кез келген бағдарламалық жасақтаманы ұстамайды;
- Код конвенциялары бағдарламалық жасақтаманың оқылуын жақсартады, бұл бағдарламашыларға жаңа codeты тезірек түсінуге мүмкіндік береді.
3. Code Review пайдаланыңыз – codeты басқалар қарап шығу
Кодты қарап шығу - codeты жақсартудың ең күшті құралдарының бірі. Неліктен? Өйткені codeты жазбаған мамандар қарайтын болады. Ал жаңа көрініс өте пайдалы. Көбінесе бұл codeты шолу ашық қорқынышты codeты жазудың алдын алуға көмектеседі. Мен бұл әрқашан мүмкін емес екенін білемін, өйткені мұны істегісі келетін басқа адамды табу керек. Бірақ бұл бұл құралды пайдаланудың қажеті жоқ дегенді білдірмейді. Керісінше: бұл codeтың сапасын жақсарту маңызды болып табылатын пікірлес адамдарды табудың себебі. Айтпақшы, оларды JavaRush-тен табуға кім тыйым салады? Барлығы бағдарламашы болғысы келетін жерде.4. Write Unit Tests – unit tests
Әлі күнге дейін codeты жақсартудың сүйікті әдісі - бірлік сынақтарын жазу. Оның үстіне, оларды неғұрлым көп жазсаңыз, соғұрлым жақсы. Компьютерлік бағдарламалауда бірлікті тестілеу - бұл бағдарламалық жасақтаманы әзірлеу процесі, онда бастапқы codeтың бірлік деп аталатын ең кішкентай сыналатын бөлігі олардың күтілгендей жұмыс істейтінін тексеру үшін жеке және тәуелсіз тексеріледі. Бұл codeты шығармас бұрын алгоритмдердегі және/немесе логикадағы қателерді анықтауға көмектеседі. Бірлікті тестілеу codeтың сәйкес құрылымын талап ететіндіктен, codeты кішірек және көбірек бағытталған функцияларға бөлу керек дегенді білдіреді. Олардың әрқайсысы бірнеше түрлі операцияларды орындайтын үлкен функцияларға емес, деректер жиынтығы бойынша бір операцияға жауап береді.(Олар айтқандай, Бірыңғай жауапкершілік қағидасынан сәлем ...) Жақсы тексерілген code жазудың екінші пайдасы бар codeты бұзу функционалдығына кішігірім өзгертулер бойынша болашақ сәтсіздіктердің алдын алуға болады. Ақаулық орын алған кезде, бірлік сынақтары бірдеңе қате жазылғанын айтады. Бір қарағанда, әзірлеу кезінде бірлік сынақтарын жазуға уақыт жұмсау қосымша шығын сияқты көрінеді. Дегенмен, бұл болашақта уақытты үнемдейді, оны жөндеуге жұмсауға тура келеді. Бұл қадамдық процесс болуы керек. Сондықтан, ән айтыңыз - барлық әдістер мен сыныптар үшін тесттер жазыңыз :D5. Код сапасын жақсарту үшін құралдарды пайдаланыңыз
Ешқашан қателеспейтін әзірлеуші жоқ. Әдетте компилятор синтаксис пен арифметикалық есептерді ұстайды және стек ізін шығарады. Бірақ компилятор ұстамайтын кейбір мәселелер әлі де болуы мүмкін. Мысалы, дұрыс орындалмаған талаптар, дұрыс емес алгоритмдер, қате code құрылымы немесе қоғамдастыққа тәжірибеден белгілі кейбір ықтимал мәселелер. Мұндай қателерді анықтаудың жалғыз жолы - кейбір аға әзірлеушіден codeыңызды қарап шығуды сұрау. Бұл әдіс панацея емес және аз өзгереді. Командадағы әрбір жаңа әзірлеушіде оның codeына қарайтын қосымша көздер болуы керек. Бірақ, бақытымызға орай, codeтың сапасын бақылауға көмектесетін көптеген құралдар бар. Мен әртүрлі жобалардағы жұмысымда Checkstyle, PMD, FindBugs, SonarQube қолдандым. Басқалары да бар. Олардың барлығы әдетте сапаны талдау және кейбір пайдалы есептерді шығару үшін пайдаланылады. Көбінесе бұл есептер Дженкинс сияқты үздіксіз біріктіру serverлері арқылы жарияланады.6. Қарапайым және түсінікті codeты жазыңыз
Әрқашан қарапайым, түсінікті және логикалық codeты жазыңыз. Адамдар өздерінің қабілеттерін дәлелдеу үшін күрделі code жазуға бейім. Қарапайым, бірақ логикалық code әрқашан жақсы жұмыс істейді, аз проблемаларды тудырады және кеңейеді. Жақсы code жақсы құжаттаманы білдіреді. Егер сіз түсініктеме қосуды ойласаңыз, өзіңізден сұраңыз: « Бұл түсініктеме қажет болмас үшін codeты қалай жақсартуға болады? ~ Стив МакКоннелл.7. Құжаттаманы оқыңыз
Жақсы бағдарламашылардың маңызды әдеттерінің бірі - көп құжаттарды оқу. Бұл техникалық сипаттамалар, JSR, API құжаттары, оқулықтар және т.б. болсын. Құжаттарды оқу сізге ең жақсы бағдарламалайтын күшті негізді құруға көмектеседі. Ең бастысы, өзіңізді басқалармен салыстырмаңыз.Өзіңізді басқалармен салыстыру тек жағымсыз сезімдер мен зиянды бәсекелестікке әкеледі. Әркімнің өзінің күшті және әлсіз жақтары бар. Сондықтан оларды білу және олармен жұмыс істеу маңызды. Өзіңізді талдаңыз, күшті жақтарыңызды тізімдеңіз және олармен жұмыс істеңіз. Бағдарламалау нағыз қызық: ләззат алыңыз.«Бір адамның тұрақтысы екінші адамның айнымалысы».
8. Қызықты блогерлерді қадағалаңыз
Бүкіл әлем бойынша мыңдаған энтузиастар бірдей технологиялармен жұмыс істейді және олар туралы жазады. Блогтарды көбінесе бағдарламашылардың өздері жазады және олардың көпшілігі жеке пікірлері мен тәжірибелерімен бөліседі. Блогтардан бір технологияның әртүрлі көзқарастарын көруге болады. Блогтардан жақсы да, жаман да технологияны көруге болады. Кем дегенде,9. Арнайы кітаптарды оқыңыз
Жақсы кітапты ештеңе алмастыра алмайды. Жақсы кітап негізгі ұғымдарды анағұрлым қарапайым түрде үйретеді және нақты әлем an objectілеріне қолданылады. Олардың авторларының өзі тамаша бағдарламашылар. Кітап оқу арқылы сіз басқалардың тәжірибесінен сабақ ала аласыз. Мен «Java. Джошуа Блоктың тиімді бағдарламалауы. Бұл кітап бағдарламалаушының жетпіс сегіз алмастырылмайтын ережесін ұсынады: жұмыс, сіз күнде кездесетін бағдарламалау мәселелеріне арналған ең жақсы шешімдер. Онда тиімді, жақсы жобаланған бағдарламаларды жазу үшін пайдалануға болатын ең практикалық, беделді нұсқаулар бар. Егер сіз Java тілін жаңадан бастап жатсаңыз және бағдарламалау тәжірибесі болмаса, Sams Teach Yourself Java 2 бағдарламасын 24 сағат ішінде оқығыңыз келуі мүмкін. Таза codeты жазу үшін «Таза code Роберт Мартин» деген тамаша кітап бар. Одан кейін codeқа қатысты «сұлулық сезімі» пайда болады.10. Код! Код! Код!
Кітапты жаттаумен ғана жақсы бағдарламашы бола алмайсың. Теориялық ұғымдар туралы айту оңай. Бірақ сіз codeты жазған кезде тек тіл шектеулерін үйрене аласыз немесе ең жақсы тәжірибелерді жасай аласыз. Сондықтан жақсы бағдарламашы болу үшін көп code жазу керек. Егер сіз жаңадан бастаушы болсаңыз, Fibonacci сериясы, палиндром, Паскаль үшбұрышы және т. Coding Ground- қа қараңыз . Сонымен қатар, сіз CS50 курсына қатыса аласыз , оның аудармасын бізге «сен кім екенін білесің» берген :DЖинақтау
Ештеңе істемейтін адам қателеспейді. Сондықтан біз шыдамды болуымыз керек және еңбекқор жапондар сияқты codeтау дағдыларымызды шыңдауымыз керек. Ол үшін мынаны ұмытпаңыз:- басқа біреудің codeын оқу;
- Кодексті қайта қарауды орындау және сұрау;
- бірлік сынақтарын жазу;
- codeты жақсарту үшін құралдарды пайдалану;
- қарапайым және түсінікті code жазу;
- мүмкіндігі барлардың құжаттарын оқу;
- қызықты бағдарламашыларды қадағалаңыз;
- арнайы кітаптарды оқу;
- Код! Код! Код!
- GitHub сайтындағы Romanға жазылыңыз .
пайдалы сілтемелер
- Бағдарламалау дағдыларын жетілдірудің 10 жолы
- Бағдарламалау дағдыларын жақсартудың бір оңай жолы - басқа адамдардың codeын оқу
- Java codeының сапасын жақсартуға арналған 11 үздік тәжірибе мен құралдар
- Java бағдарламалау дағдыларын қалай жақсартуға болады
- Жақсырақ Java әзірлеушісі болу үшін 10 кеңес
Менің мақалаларымның көбірек
- Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық
- Skyscanner API үшін клиент құру және оны jCenter және Maven Central жүйесінде жариялау бойынша нұсқаулық [1-бөлім]
- Әуе билеттерінің бағасын бақылау жүйесін құру: қадамдық нұсқаулық [1 бөлім]
- Ағаш кесу: немен, қалай, қайда және немен? Әңгімелесу тесті қалай ашық бастапқы кітапханаға айналды
- Табыс тарихы. Аптасына 20 сағат бағдарламалау, магистратура және жеке өмір
- Жұмысты қалай табуға болады? Түйіндемені жіберуге арналған кеңестер
GO TO FULL VERSION