Запитання з тегом «clean-code»

Термін "чистий код" використовується для опису коду програмування комп'ютера, який є стислим, легким для розуміння і чітко виражає наміри програміста. Запитання з цим тегом стосуються процесу написання чистого коду або рефакторингу старого "брудного" коду на чистий код.

11
Скільки моделей дизайну та рівнів абстракції необхідні? [зачинено]
Як я можу сказати, що моє програмне забезпечення має занадто велику абстракцію та занадто багато моделей дизайну, або навпаки, як я можу знати, чи має їх більше? Розробники, з якими я працюю, по-різному програмують ці питання. Деякі з них абстрагують кожну маленьку функцію, застосовують шаблони дизайну, коли це можливо, і …

6
Які виплати ви бачили, піклуючись про технічну заборгованість?
Ця стаття про технічну заборгованість має деякі хороші моменти, зокрема: Робота над "технічними питаннями" найкраще спрацьовує тоді, коли її рухають історії. База коду, ймовірно, потребує роботи скрізь, але виплата буде отримана лише там, де над цим кодом буде працювати з особистих причин. Якщо жодна історія не пройде через якусь хитру …

4
Чи подібний код - «аварія поїзда» (з порушенням Закону про Деметер)?
Переглядаючи якийсь код, який я написав, я натрапив на наступну конструкцію, яка змусила мене задуматися. На перший погляд, це здається досить чистим. Так, у фактичному коді getLocation()метод має трохи більш конкретну назву, яка краще описує, яке саме місце він отримує. service.setLocation(this.configuration.getLocation().toString()); У цьому випадку serviceє змінною екземпляра відомого типу, оголошеною …

7
Чи стосується гниття програмного забезпечення насамперед продуктивність чи безладний код?
Визначення Вікіпедії з програмного забезпечення гнилі фокусується на продуктивності програмного забезпечення. Це інше використання, ніж я звик; Я думав про це набагато більше з точки зору чистоти та дизайну коду - з точки зору того, що код має всі стандартні характеристики якості: читабельність, ремонтопридатність тощо. Тепер, швидше за все, продуктивність …

3
Дублювання констант між тестами та виробничим кодом?
Добре чи погано дублювати дані між тестами та реальним кодом? Наприклад, припустимо, у мене клас Python, FooSaverякий зберігає файли з конкретними іменами у заданій директорії: class FooSaver(object): def __init__(self, out_dir): self.out_dir = out_dir def _save_foo_named(self, type_, name): to_save = None if type_ == FOOTYPE_A: to_save = make_footype_a() elif type == …

6
Правило 5 - використовувати його чи ні?
Правило 3 ( правило 5 у новому стандарті c ++) передбачає: Якщо вам потрібно чітко оголосити або деструктора, конструктора копіювання або оператора призначення копії самостійно, вам, ймовірно, потрібно чітко заявити про всі три з них. Але, з іншого боку, " чистий код " Мартіна радить видалити всі порожні конструктори та …

5
Чи може мова програмування за допомогою дизайну застосовувати «чистий код»? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 3 роки тому . Тому я кодую свої перші проекти в C ++ і, здається, потрібно більше зусиль, …

16
Чи інші блоки збільшують складність коду? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 5 років тому . Ось дуже спрощений приклад . Це не обов'язково питання, що стосуються мови, і я …

3
Рефакторинг з низьким впливом та очищення неохайного коду під час очікування вимог
Я успадкував існуючу базу коду для продукту, який нібито неохайний. Фундаментальна конструкція надзвичайно неадекватна, що, на жаль, я не можу обійтися без повного рефактора (ВИСОКА зв'язок, низька когезія, невпинне копіювання коду, відсутність технічної проектної документації, інтеграційні тести замість одиничних тестів). Продукт має історію, високу схильність до критичних клієнтів «готівкою-коровою» з …

9
Чи перевіряються надмірні умови відповідності кращим практикам?
Я розробляю програмне забезпечення протягом останніх трьох років, але я нещодавно прокинувся, наскільки я невідомий щодо передового досвіду. Це змусило мене почати читати книгу « Чистий кодекс» , яка перевертає моє життя на краще, але я намагаюсь зрозуміти деякі найкращі підходи до написання моїх програм. У мене програма Python, в …

2
Застосування принципів чистого коду до функціональних мов
Я зараз читаю чистий код Роберта Мартіна . Я думаю, що це здорово, і при написанні коду OO я приймаю його уроки по душі. Зокрема, я вважаю, що його порада використовувати невеликі функції зі значущими іменами змушує мій код протікати більш плавно. Найкраще підсумувати цю цитату: [W] хочемо мати можливість …

5
Як уникнути зайвої перевантаження методом?
У вихідному коді нашої програми є досить багато місць, де в одному класі є багато методів з однаковими іменами та різними параметрами. У цих методах завжди є всі параметри попереднього методу плюс ще один. Це результат тривалої еволюції (застарілий код) і такого мислення (я вважаю): " Існує метод M, який …

8
Способи зламати "Синдром ідеального програміста" [закрито]
Важко сказати, про що тут питають. Це питання є неоднозначним, розпливчастим, неповним, надто широким або риторичним і не може бути обґрунтованим відповіді в його теперішній формі. Для уточнення цього питання, щоб його можна було знову відкрити, відвідайте довідковий центр . Закрито 7 років тому . Я, мабуть, не єдиний, хто …

5
Бульне повернення set.add () у, якщо умовне?
Оператор add класу set повертає логічне значення, що є істинним, якщо елемент (який потрібно додати) ще не було, а false - інакше. Пишеться if (set.add(entry)) { //do some more stuff } вважається хорошим стилем з точки зору написання чистого коду? Мені цікаво, оскільки ти робиш дві речі одночасно. 1) додавання …

3
Чистий код: наслідки коротких методів з малою кількістю параметрів
Нещодавно під час огляду коду я натрапив на код, написаний новим колегою, який містить візерунок із запахом. Я підозрюю, що рішення мого колеги ґрунтуються на правилах, запропонованих відомою книгою «Чистий кодекс» (а можливо, і іншими подібними книгами). Наскільки я розумію, конструктор класу повністю відповідає за створення дійсного об’єкта і що …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.