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

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

6
Як уникнути нескінченного повторення через однаково неоптимальні конструкції?
Тому, напевно, як у багатьох, я часто стикаюся з головними болями з дизайнерськими проблемами, в яких, наприклад, існує певна модель / підхід дизайну, який, здається, інтуїтивно відповідає проблемі і має бажані переваги. Дуже часто є якийсь застереження, який ускладнює реалізацію схеми / підходу без якоїсь роботи, навколо якої потім заперечується …

1
Проблема, що розуміє, як виглядає чистий код у реальному житті
Зараз я читаю і працюю над «Чистим кодом: Підручник з гнучкої майстерності програмного забезпечення» Роберта К. Мартіна. Автор розповідає про те, як функція повинна виконувати лише одне, і таким чином бути відносно короткою. Конкретно Мартін пише: Це означає, що блоки в операторах if, операторах else, в той час як оператори …
10 clean-code 

2
Уникайте геттерів та сетерів, відображаючи інформацію про користувачів
Фон Я читаю "Книгу чистого коду", і паралельно я працюю над гігієнічними об'єктами Ката, як банківський рахунок, і я дотримуюся цього правила: Дев'яте правило калієстичних об'єктів - це те, що ми не використовуємо геттер або сеттер. Це здається досить веселим, і я згоден з цим принципом. Більше того, на сторінці …

3
Чистий код та гібридні об’єкти та особливість заздрості
Тому я нещодавно зробив деякі основні рефактори для свого коду. Однією з головних речей, які я намагався зробити, було розподіл моїх класів на об'єкти даних та робочі об'єкти. На це, серед іншого, надихнув цей розділ чистого коду : Гібриди Ця плутанина іноді призводить до нещасних гібридних структур даних, які є …

5
Чи може чисто функціональне рішення цієї проблеми бути таким же чистим, як і імператив?
У мене вправа в Python наступна: поліном задається у вигляді множини коефіцієнтів, таким чином, що потужність визначається за показниками, наприклад: (9,7,5) означає 9 + 7 * x + 5 * x ^ 2 написати функцію для обчислення її значення для заданого x Оскільки я останнім часом займаюся функціональним програмуванням, я …

7
Чи поганий стиль зайве перевірити стан?
Я часто потрапляю на позиції в своєму коді, де я знову і знову перевіряю певний стан. Я хочу навести вам невеликий приклад: припустимо, що існує текстовий файл, який містить рядки, що починаються з «а», рядки, що починаються з «b» та інші рядки, і я фактично хочу лише працювати з першими …

4
Дизайн-схема для обробки відповіді
Більшу частину часу, коли я пишу якийсь код, який обробляє відповідь на певний виклик функції, я отримую таку структуру коду: Приклад: Це функція, яка буде обробляти аутентифікацію для системи входу class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials counter //send …

6
Який код слід включити до абстрактного класу?
Нещодавно мене турбує використання абстрактних занять. Іноді абстрактний клас створюється заздалегідь і працює як шаблон того, як працювали похідні класи. Це означає, більш-менш, що вони забезпечують функціональність високого рівня, але залишають певні деталі, які можна реалізувати у похідних класах. Абстрактний клас визначає потребу в цих деталях, застосовуючи деякі абстрактні методи. …

1
Що означає "TILT" у коментарі?
Я читаю " Чистий код " Роберта К. Мартіна, і ця фраза TILTнезрозуміло з'являється в деяких зразках коду. Приклад (до речі, це на Java): ... public String errorMessage() { switch (status) { case ErrorCode.OK: // TILT - Should not get here. return ""; case ErrorCode.UNEXPECTED_ARGUMENT: return "Unexpected argument"; case ErrorCode.MISSING_ARGUMENT: …

7
Я роблю свої заняття занадто детальними? Як слід застосовувати Принцип єдиної відповідальності?
Я пишу багато коду, який включає три основні етапи. Отримайте дані звідкись. Перетворіть ці дані. Покладіть ці дані кудись. Як правило, я використовую три типи занять - надихнувшись їх відповідними моделями дизайну. Фабрики - для побудови об'єкта з якогось ресурсу. Посередники - користуватися фабрикою, виконувати перетворення, потім використовувати командира. Командири …

6
Як зменшити перемикач у операторі комутатора?
Тож я створюю метод створення лінії вітання для базування двох людей із бази даних. Існує чотири параметри: два імені ( name1і name2) та два статі ( genderі gender2). Для кожної гендерної комбінації у мене є різний результат. Наприклад: якщо гендер 1 є M(чоловік), а також гендер 2 M, результат повинен …

3
Де я повинен розмістити методи, які роблять Http-запит на отримання даних з веб-сервісу в розробці iOS?
У моєму додатку iOS є Model Car, де такі параметри, як ім’я, рік, значення тощо, отримуються з веб-сервісу для заповнення списку даними про автомобілі. Куди слід поставити метод, який асинхронно переходить на сервер і повертає масив автомобілів (цей метод вже перетворює JSON в автомобільний масив)? Мій сучасний підхід - це …

7
Перевірка, чи метод повертає значення false: призначити результат тимчасовій змінній, або поставити виклик методу безпосередньо в умовний?
Чи є гарною практикою викликати метод, який повертає істинні чи помилкові значення у операторі if? Щось на зразок цього: private void VerifyAccount() { if (!ValidateCredentials(txtUser.Text, txtPassword.Text)) { MessageBox.Show("Invalid user name or password"); } } private bool ValidateCredentials(string userName, string password) { string existingPassword = GetUserPassword(userName); if (existingPassword == null) return …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.