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

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

4
Гарне використання пробних фільмів?
Мені завжди доводиться боротися з цим ... намагаючись знайти правильний баланс між спробою / ловом і кодом, що не стає цим нецензурним безладдям вкладок, дужок та винятків, що повертаються назад до стека викликів, як гаряча картопля. Наприклад, у мене є програма, яку я зараз розробляю, яка використовує SQLite. У мене …

5
Що є корисним мисленням під час проведення офіційного перегляду коду
Нещодавно наша команда розпочала перевірку коду щодо кожної реєстрації. Як керівник команди, я намагаюся знайти баланс між наданням занадто багато пропозицій, роздратуванням розробників та зменшенням кількості команд та відпуском коду, я би написав інакше. Чи є докази, дослідження чи вказівки з добре відомих джерел, які підказують корисний підхід?

6
Чистий код - чи слід змінити буквальний 1 на постійний?
Щоб уникнути магічних чисел, ми часто чуємо, що нам слід дати буквально значущу назву. Як от: //THIS CODE COMES FROM THE CLEAN CODE BOOK for (int j = 0; j < 34; j++) { s += (t[j] * 4) / 5; } -------------------- Change to -------------------- int realDaysPerIdealDay = 4; …

2
Що таке вихідний аргумент, про який йдеться у чистому кодексі Мартіна?
На сторінці 45 чистого кодексу Роберта К. Мартіна: Підручник з гнучкої майстерності програмного забезпечення, Мартін пише, що слід уникати аргументів виводу. У мене виникають проблеми з розумінням значення "вихідних аргументів" і чому їх слід уникати. Приклад Мартіна для вихідного аргументу appendFooter(s);називає функцію public void appendFooter(StringBuffer report). Його поліпшення коду єreport.appendFooter(); …
14 java  clean-code 

4
Методи мінімізації кількості аргументів функції
У чистому коді написано, що "ідеальна кількість аргументів для функції дорівнює нулю". Причини, що пояснюються, мають сенс. Мені потрібні методи рефакторних методів із 4 або більше аргументами для вирішення цього питання. Один із способів - витягнути аргументи в новий клас, але це, безумовно, призведе до вибуху класів? І ці класи, …

6
Чи є тематичне дослідження, яке переконливо демонструє, що чистий код покращив розвиток? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 10 місяців тому . Я на своїй першій справжній роботі програміста, і те, що я бачу, є лише кодом «Великий бал грязі» (без корисних …

4
Чиста перевірка архітектури в шарі збереження даних домену?
Я навчаюсь на чистому, і в результаті досить різко переосмислюю те, як я розробляю і пишу програмне забезпечення. У мене все, що я все ще веду боротьбу, - це такі правила бізнесу, як "збереження оновлень для певного предмета, спочатку завантажуйте весь список елементів, на які я маю дозвіл на перегляд …

8
Правильна конструкція для класу з одним методом, який може відрізнятися між клієнтами
У мене є клас, який використовується для обробки платежів клієнтів. Усі, крім одного із методів цього класу, однакові для кожного замовника, за винятком способу, який обчислює (наприклад), скільки заборгував користувач. Це може сильно відрізнятися від замовника до замовника, і немає простого способу зафіксувати логіку обчислень у чомусь подібному файлі властивостей, …

2
Скільки використання "ймовірних" та "малоймовірних" макросів занадто багато?
Часто відомі як макроси likelyі unlikelyмакроси допомагають компілятору дізнатися, чи ifбуде звичайно вводитись або пропускати. Використання його призводить до деяких (досить незначних) поліпшень продуктивності. Я почав їх використовувати нещодавно, і не знаю, як часто такі підказки слід використовувати. Зараз я використовую його для перевірки помилок if, які зазвичай позначаються як …

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

6
Що є більш доцільним - булеве призначення за допомогою вираза if / else чи булевого?
Що можна вважати більш ретельним? if (a == b) c = true; else c = false; або c = (a == b); Я спробував шукати Code Complete, але не можу знайти відповідь. Я думаю, що перший є більш читабельним (його можна буквально прочитати вголос), що, на мою думку, робить його …

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

8
Які хороші способи збалансування інформаційних винятків та чистого коду?
З нашим загальнодоступним SDK ми, як правило, хочемо надсилати дуже інформативні повідомлення про те, чому відбувається виняток. Наприклад: if (interfaceInstance == null) { string errMsg = string.Format( "Construction of Action Argument: {0}, via the empty constructor worked, but type: {1} could not be cast to type {2}.", ParameterInfo.Name, ParameterInfo.ParameterType, typeof(IParameter) …

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

4
чи такий спосіб називати функцію поганою практикою?
У мене є такий код: public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } Я думаю, що таким чином я усуваю відповідальність за те, …

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