CodeGym /Java блог /Случаен /10 начина да подобрите своя код, доказани от личен опит
John Squirrels
Ниво
San Francisco

10 начина да подобрите своя код, доказани от личен опит

Публикувано в групата
Здравейте всички в общността на CodeGym! 10 начина да подобрите codeа си, доказани от личен опит - 1Днес ще говорим за качеството на codeа. Да, скъпи приятели. Никой не е перфектен. Всеки осъзнава в даден момент, че codeът може да е по-добър... Но Howво да правим в тази ситуация? Като минимум започнете да проучвате този въпрос. Но вие вече сте тук, което означава, че темата трябва да ви интересува, така че да тръгваме. Днес ще опишем начини, по които можете да направите своя code по-добър и по-чист. Така че няма да се срамувате от текущия си code в бъдеще! :) Всички тези методи ще помогнат на програмиста да стане добър програмист.10 начина да подобрите codeа си, доказани от личен опит - 2

1. Ако искате да подобрите своя code, прочетете нечий друг

Ако искате драстично да подобрите уменията си за програмиране, трябва да... четете code, написан от други програмисти. Вярвай ми or не. Но ако поемете риска, обещавам: ще бъдете възнаградени за прекараното време. Например, не четете на medium.com за това How работят HashMap, ArrayList, LinkedList и т.н. Вместо това прочетете техния изходен code и го разберете сами. Ето списък с класове за четене:
  • Най-често задаваните въпроси в интервютата са за HashMap. Можете да убиете два заека с един камък: ще разберете codeа и ще получите необходимите знания.
  • Същото важи и за ArrayList. Няма нищо сложно, но изходният code наистина си заслужава да бъде прочетен и разбран.
  • String е отличен пример. Разберете защо е неизменна.
  • AtomicInteger е готин клас: той дефинира атомарни операции върху Integer обекти.
  • След това, добре, можем да изброим всеки клас, един след друг :)
По-сериозно, трябва да прочетете codeа от Pivotal. Хората там са написали най-търсената екосистема в света на Java. Техният code определено си заслужава да бъде прочетен. Препоръчвам ви да започнете с Spring Core . Четенето на непознат изходен code е трудна, но възнаграждаваща работа. :)

2. Следвайте codeовите конвенции

10 начина да подобрите codeа си, доказани от личен опит - 3Конвенциите за codeиране са набор от насоки, създадени от екипи за разработка. Те включват насоки за стил на codeиране и техники за всеки аспект на codeа. Тези конвенции могат да бъдат написани за цялата компания or за конкретен проект. Конвенциите за codeиране обикновено са специфични за всеки език за програмиране и обхващат файлова организация, отстъпи, коментари, декларации, оператори, интервали, конвенции за именуване, техники и принципи за програмиране, правила за програмиране, най-добри практики за архитектура и т.н. Основното предимство на някои стандарти е фактът, че codeът изглежда по същия начин и е написан в същия стил. Това го прави по-четлив и помага на програмистите да разберат codeа, написан от друг програмист. Ако стандартите за codeиране се следват и прилагат последователно през целия процес на разработка, ще бъде по-лесно в бъдеще да поддържате и разширявате codeа си, да го преработвате и да разрешавате интеграционни конфликти. Конвенциите за codeиране са важни за програмистите поради редица причини:
  • 40-80% от цената на софтуера отива за неговата поддръжка,
  • Едва ли някой софтуер се поддържа от неговия автор през целия му живот,
  • Конвенциите за codeиране подобряват четливостта на изходния code, като позволяват на програмистите да разбират новия code по-бързо.
Честно казано, аз съм голям фен на стандартите за codeиране. За мен има смисъл да отделяте време за обсъждане и спорове за тях, тъй като това е ценна дейност, която ще ви спести време и усorя в бъдеще. Конвенциите на codeа трябва да се преглеждат често. Правилата могат да се променят от „задължителни“ на „незадължителни“ и обратно. Ако някои от тях не работят според очакванията, те трябва да бъдат преразгледани or премахнати от насоките.

3. Използвайте прегледи на codeове

Прегледът на codeа е един от най-мощните инструменти за подобряване на codeа. 10 начина да подобрите codeа си, доказани от личен опит - 4Защо? Защото codeът ще бъде гледан от тези експерти, които не са го написали. А свежият външен вид е много полезен. А прегледът на codeа често е това, което помага да се предотврати писането на направо ужасен code. Знам, че прегледите на codeа не винаги са възможни, защото трябва да намерите друг човек, който е готов да го направи. Но това не означава, че трябва да пропуснете използването на този инструмент. Точно обратното: прегледите на codeа са причина да намерите съмишленици, които също трябва да подобрят качеството на своя code. Между другото, кой ще ви попречи да ги намерите тук в CodeGym? На място, където всеки иска да бъде програмист.

4. Напишете модулни тестове

Любимата ми техника за подобряване на code определено е писането на модулни тестове. Колкото повече от тях напишете, толкова по-добре. В компютърното програмиране, модулното тестване е процес на разработка на софтуер, при който най-малката тествана част от изходния code, наречена единица, се тества индивидуално и независимо, за да се види дали работи според очакванията. Това ще ви помогне да откриете грешки във вашите алгоритми и/or логика, преди да пуснете своя code. Тъй като модулното тестване изисква вашият code да бъде структуриран по подходящ начин, codeът трябва да бъде разделен на по-малки, по-фокусирани функции. Всеки отговаря за една операция върху набор от данни, а не за големи функции, които изпълняват няколко различни операции ( принципът на единичната отговорностказва здравей...). Второто предимство на писането на добре тестван code е, че можете да избегнете нарушаването на codeа, когато правите малки промени в съществуващата функционалност. Когато модулните тестове се провалят, те ще ви кажат, че нещо е написано неправилно. На пръв поглед времето за разработка, прекарано в писане на модулни тестове, изглежда като допълнителен разход. Единичните тестове обаче ще спестят време за отстраняване на грешки в бъдеще. Това трябва да е процес стъпка по стъпка. Така че нека продължим напред с усмивка — ще пишем тестове за всеки метод и клас :D

5. Използвайте инструменти за подобряване на качеството на codeа

Няма разработчик, който никога да не е сгрешил. Обикновено компилаторът улавя синтактични и аритметични проблеми и показва проследяването на стека. Но все пак може да се появят някои проблеми, които компилаторът да не улови. Например неправилно изпълнени изисквания, неправилни алгоритми, неправилно структуриран code or няHowъв друг потенциален проблем, който общността знае от опит. Единственият начин да уловите грешки като тази е да помолите по-старши разработчик да прегледа codeа ви, нали? Но този подход не е панацея и няма да промени много. За всеки нов разработчик в екипа трябва да имате допълнителен чифт очи, които гледат неговия/нейния code. За щастие има много инструменти, които могат да ви помогнат да контролирате качеството на вашия code. Използвал съм Checkstyle, PMD, FindBugs и SonarQube в работата си по различни проекти. А има и други. Всички те обикновено се използват за анализиране на качеството на codeа и генериране на някои полезни отчети. Много често тези отчети се публикуват от сървъри за непрекъсната интеграция като Jenkins.

6. Напишете прост и ясен code

10 начина да подобрите codeа си, доказани от личен опит - 5Винаги пишете прост, разбираем и логичен code. Хората са склонни да пишат сложен code, за да докажат, че могат да го направят. Простият и логичен code винаги работи добре, води до по-малко проблеми и е по-разширяем. Добрият code е най-добрата documentация. Ако мислите да добавите коментар, запитайте се: "Как мога да подобря codeа, така че този коментар да не е необходим?" — Стив Макконъл.

7. Прочетете documentацията

10 начина да подобрите codeа си, доказани от личен опит - 6Един от най-важните навици на добрите програмисти е да четат много documentация. Независимо дали нейните спецификации, JSR, API documentи, уроци or нещо друго, четенето на documentация ви помага да изградите солидна основа за най-доброто си програмиране. Не на последно място, не се сравнявайте с другите. Сравняването с другите ще доведе само до негативни чувства и нездравословна конкуренция. Всеки човек има своите силни и слаби страни. Това означава, че е важно да ги познавате и да работите с тях. Направете инвентаризация на себе си - избройте силните си страни и работете върху тях. Програмирането е истинско удоволствие: насладете му се.

"Константата за един човек е променлива за друг."

Алън Дж. Перлис

8. Следете интересни блогъри

Хиляди ентусиасти по целия свят работят и пишат за едни и същи технологии. Блоговете често се пишат от самите програмисти и повечето от тях споделят лични мнения и опит. Чрез блогове можете да видите различни гледни точки за една и съща технология. В блоговете можете да видите Howто добри, така и лоши технологии. Като минимум четете статии в блога на Coding Dojo и CodeGym :) Следете добрите блогове и коментирайте публикации, споделяйте мнението си.

9. Четете книги за професията

Нищо не може да замени добрата книга. Добрата книга преподава основни концепции в много по-проста форма и се прилага към нещата в реалния свят. Техните автори сами са страхотни програмисти. Четейки книги, можете да се поучите от опита на някой друг. Предлагам ви да прочетете "Ефективната Java" на Джошуа Блок. Тази книга представя седемдесет и осем незаменими практически правила за програмисти: най-добрите работещи решения за проблемите с програмирането, с които се сблъсквате всеки ден. Той съдържа най-практичните, авторитетни насоки за писане на ефективни, добре проектирани програми. Ако тепърва започвате с Java и нямате опит в програмирането, можете да прочетете „Sams Teach Yourself Java 2 in 24 Hours“. А за писането на чист code има отлична книга, "Чист code", от Робърт Мартин. След като го прочетох,

10. Код! Код! Код!

Не можете да станете добър програмист само като научите книга наизуст. Лесно е да се говори за теоретични концепции. Но можете да научите ограниченията на даден език or да изработите най-добрите практики само когато пишете code. Следователно, за да станете добър програмист, трябва да напишете много code. Ако сте начинаещ, започнете с писане на програми за прости задачи като редица на Фибоначи, палиндроми, триъгълник на Паскал и т.н. След това преминете към по-големи задачи като двоично дърво за търсене и т.н. Ако търсите онлайн платформа за практикуване на Java програми, разгледайте Coding Ground . Проправете си път през курсове по програмиране и гарантирам, че вашите умения ще бъдат много по-добри. Друг вариант е да вземете курса Harvard CS50, който е безплатен.

Нека да обобщим

Човекът, който не прави грешки, е този, който не прави нищо. Ето защо ние запасяваме търпението си и като трудолюбив сHowалец усъвършенстваме уменията си за codeиране. За да направите това, не забравяйте:
  • Прочетете codeа на другите
  • Осигурете и поискайте прегледи на codeа
  • Напишете единични тестове
  • Използвайте инструменти, за да подобрите codeа си
  • Напишете прост и разбираем code
  • Прочетете documentацията, написана от тези, които могат
  • Следвайте интересни програмисти
  • Четете книги за професията
  • Код! Код! Код!
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION