Какво е чист код?

Чистият код е код, който е лесен за разбиране и лесен за промяна.

Малко насоки за чист код биха били:

  • Трябва да бъде четлив и смислен
  • Трябва да се избягват неинтуитивни имена, сложно влагане и големи кодови блокове
  • Трябва да бъде сбити „до въпроса“
  • Трябва да намали когнитивното натоварване
  • Трябва да следва често срещаните най-добри практики и модели
  • Трябва да бъде забавно да се пише и да се поддържа.

Чистият код изисква време, усилие, вниманиеи грижа, стойности, които не се вземат под внимание от повечето бизнесът. Чистият код попада в критериите за качествона триъгълника на качеството, известен като триъгълник за управление на проекти.

Написването на чист код и фокусирането върху качеството наистина отнема повече време, но ще доведе до по-устойчив продукт в дългосрочен план.

Ключови точки на чистия код

Чистият код е всичко за:

Наименуване— Как да използвате собствените имена

  • Променливи
  • Функции
  • Класове

Структура и коментари

  • „Форматиране на кода“
  • „Добри и лоши коментари“

Функции

  • Дължина
  • Параметри

Условни условия и обработка на грешки

  • Дълбоко гнездене
  • Липсва обработка на грешки

Класове и структури от данни

  • Липсващо разграничение
  • Раздути класове

Всички те ни отвеждат до:

Решения

  • Правила и концепции
  • Модели и принципи
  • Разработка, управлявана от тестове

В тази статия ще говоря за първата тема, когато става дума за писане на чист код и това е наименуването, как трябва да именуваме нещата, когато пишем код.

Наименуване

Правилното именуване на неща като променливи, свойства, функции, методи, класове и по разбираем начин е важна част от писането на чист код.

Бъдете описателни

Имената имат една проста цел и трябва да описват какво се съхранява в променлива или свойство или какво прави функция или метод. Или какъв вид обект ще бъде създаден при инстанциране на клас.

Използването на добри имена всъщност трябва да е просто, но идването с най-доброто име за дадена променлива/свойство/функция пак ще изисква практикаи често множество итерации. Но това е нормално, чистият код се пише чрез повторение и подобряване на кода с течение на времето.

Правила за именуване

Променливи и свойства

Променливите и свойствата съдържат данни - числа, текст (низове), булеви стойности, обекти, списъци, масиви, карти и др.

Следователно името трябва да подсказва какъв вид данни се съхраняват.
Следователно променливите и свойствата обикновено трябва да получават съществителнокато име.

Например: user, product, customer, database, transaction

Като алтернатива можете да използвате и кратка фраза с прилагателно — обикновено за съхраняване на булеви стойности.

Например: isValid, didAuthenticate, isLoggedIn, emailExists

Обикновено, ако можете да бъдете по-конкретни, трябва да сте по-конкретни.
Например предпочитайте customer над user , ако наличният код извършва специфични за клиента операции с тези данни. Това прави вашия код по-лесен за четене и разбиране.

Функции и методи

Функции и методи могат да бъдат извикани, за да изпълнят някакъв код. Това означава, че те
изпълняват задачи и операции.

Следователно функциите и методите обикновено трябва да получават глаголкато име.

Например: login(), createUser(), database.insert(), log()

Като алтернатива, функциите и методите могат да се използват и за основно генериране на стойности — тогава, особено когато създавате булеви стойности, можете също да изберете кратки фрази с прилагателни.

Например: isValid(…), isEmail(…), isEmpty(…)

Трябва да се опитате да избягвате имена като email(), user(). Тези имена звучат като имоти. Вместо това предпочитайте getEmail().

Както при променливите и свойствата, ако можете да бъдете по-конкретни, обикновено има смисъл да използвате такива по-конкретни имена.

Например: createUser() вместо просто create().

Класове

Класовете се използват за създаване на обекти (освен ако не е статичен клас).

Следователно името на класа трябва да описва вида обект, който ще създаде. Дори и да е статичен клас (т.е. няма да бъде инстанциран), вие пак ще го използвате като някакъв вид контейнер за различни части от данни и/или функционалност — така че трябва да опишете този контейнер.

Добрите имена на класове — също като добрите имена на променливи и свойства — следователно са съществителни имена.

Например: User, Product, RootAdministrator, Transaction, Payment

Избягвайте родовите имена

В повечето ситуации трябва да избягвате родови имена като handle(), process(), data, item.

Има ситуации, в които има смисъл, но обикновено трябва или да направите тези имена по-конкретни, като processTransaction(), или да изберете различно царско име, като product вместо item.

Да бъда постоянен

Важна част от използването на правилно име е постоянството. Ако сте използвали fetchUsers() в една част от кода си, трябва също да използвате fetchProducts(), а не getProducts().

Като цяло, няма значение дали предпочитате fetch, get, retrieve или друг термин, просто бъдете последователни.

Надяваме се, че това ще бъде полезно в пътуването ви като Java програмист и продължавайте с добрия код!

И не забравяйте да проверите моя нов блог JavaCodeBox.