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

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

8
Чи зміна вхідного параметра є антипаттерном? [зачинено]
Я програмую на Java, і завжди роблю перетворювачі на зразок цього: public OtherObject MyObject2OtherObject(MyObject mo){ ... Do the conversion return otherObject; } На новому робочому місці схема: public void MyObject2OtherObject(MyObject mo, OtherObject oo){ ... Do the conversion } Для мене це трохи смердюче, оскільки я звик не змінювати вхідні параметри. …

2
Що таке "функція заздрості", і чому це вважається запахом коду?
Це запитання в ТА говорить про те, щоб виправити те, що, на думку ОП, є кодом заздрості . Ще один приклад, коли я бачив, як цитується ця витончена фраза, - це нещодавно відповідь тут у програмістах. Хоча я крапля в коментарі до цієї відповіді з проханням про інформації , яку …

14
Яка найкраща практика впорядкування параметрів у функції?
Іноді (рідко) здається, що найкращим маршрутом є створення функції, яка приймає пристойну кількість параметрів. Однак, коли я це роблю, я відчуваю, що часто вибираю впорядкування параметрів навмання. Зазвичай я йду за "порядком важливості", перш за все найважливішим параметром. Чи є кращий спосіб зробити це? Чи існує спосіб "найкращої практики" впорядкування …

15
Чистий код: Функції з кількома параметрами [закрито]
Я читав перші глави чистого коду Роберта К. Мартіна, і мені здається, це досить добре, але я сумніваюся, в одній частині зазначається, що добре (пізнавально), що функції повинні мати якомога менше параметрів Наскільки це можливо, це навіть припускає, що 3 і більше параметрів занадто багато для функції (що я вважаю …

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

8
Чому кодування імен аргументів у назвах функцій не зустрічається частіше? [зачинено]
У чистому коді автор наводить приклад assertExpectedEqualsActual(expected, actual) проти assertEquals(expected, actual) колишній заявляв, що він більш чіткий, оскільки він усуває необхідність пам’ятати, куди йдуть аргументи, і можливе неправильне використання, яке випливає з цього. Тим не менш, я ніколи не бачив прикладу колишньої схеми іменування в жодному коді і не бачив …
47 clean-code 

13
Як редагувати ланцюжок if-else, якщо заяви відповідають принципам чистого кодексу дядька Боба?
Я намагаюсь дотримуватися чистих пропозицій дядька Боба щодо коду та конкретно, щоб не допустити коротких методів. Я не можу скоротити цю логіку: if (checkCondition()) {addAlert(1);} else if (checkCondition2()) {addAlert(2);} else if (checkCondition3()) {addAlert(3);} else if (checkCondition4()) {addAlert(4);} Я не можу видалити ельзи і, таким чином, розділити всю річ на менші …

3
Чиста архітектура дядька Боба - клас сутності / моделі для кожного шару?
Передумови: Я намагаюся використовувати чисту архітектуру дядька Боба в моєму додатку для android. Я вивчив багато проектів з відкритим кодом, які намагаються показати правильний спосіб зробити це, і знайшов цікаву реалізацію на основі RxAndroid. ЩО Я СПІЧИЛИ: У кожному шарі (презентація, домен та дані) є клас моделі для тієї ж …

8
Інвертування твердження IF
Тому я програмую вже кілька років, і останнім часом почав більше використовувати ReSharper. Одне, що ReSharper завжди пропонує мені, це "інвертувати", якщо "заява для зменшення вкладеності". Скажімо, у мене є цей код: foreach (someObject in someObjectList) { if(someObject != null) { someOtherObject = someObject.SomeProperty; } } І ReSharper запропонує зробити …

14
Наскільки важливо очистити чужий код, коли стикається з дотриманням строгого терміну? [зачинено]
(Я говорю про HTML / CSS-код (не мови програмування), але думаю, що ми також стикаємося з тією ж проблемою, що і з програмістами.) Я є старшим фронтовим дизайнером у команді, і мені часто доводиться переробляти результати своїх юніорів у жорсткі терміни. Я стикаюся з 2 проблемами: Їх стиль кодування - …

5
Передати ідентифікатор або об’єкт?
Надаючи метод бізнес-логіки для отримання об'єкта домену, чи повинен параметр приймати об'єкт або ідентифікатор? Наприклад, чи слід це робити: public Foo GetItem(int id) {} або це: public Foo GetItem(Foo foo) {} Я вірю в передачу об'єктів навколо, у всій їх повноті, але як бути з цим випадком, коли ми отримуємо …

14
Чи є якась користь від одержимості створення коду "виглядати красиво"?
Іноді я приділяю смішну кількість часу (годин) агонізуючи над тим, щоб зробити код "красивим виглядати". Я маю на увазі, щоб речі виглядали симетрично. Я фактично швидко прокручую цілий клас, щоб побачити, чи щось вискакує як не виглядає «симпатичним» чи «чистим». Я витрачаю свій час? Чи є якась цінність у такому …
34 clean-code 

6
Додатковий рядок у блоці та додатковий параметр у чистому коді
Контекст У Чистому коді на сторінці 35 написано Це означає, що блоки, якщо оператори, оператори else, в той час як оператори тощо, повинні бути довгими на один рядок. Можливо, ця лінія повинна бути викликом функції. Це не тільки робить функцію, що вкладається, невеликою, але й додає документальну цінність, оскільки функція, …
33 clean-code  solid 

7
Як запобігти невідомому дублюванню коду?
Я працюю на досить великій базі коду. Сотні занять, тони різних файлів, велика кількість функціональних можливостей займає більше 15 хвилин, щоб витягнути свіжу копію тощо. Великою проблемою настільки великої бази коду є те, що у неї є досить багато корисних методів і таких, які роблять те саме, або є код, …

7
Чи є кодовим запахом встановити прапор у циклі, щоб використовувати його згодом?
У мене є фрагмент коду, куди я повторюю карту, поки певна умова не відповідає дійсності, а потім пізніше використовувати цю умову, щоб зробити ще якісь речі. Приклад: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) { …

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