Вопросы с тегом «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
Что такое код «зависти к особенностям» и почему он считается запахом кода?
Этот вопрос о SO говорит о том, чтобы исправить то, что OP считал кодом зависти к функциям . Другой пример, где я видел, как цитируется эта изящная фраза, - недавно полученный ответ здесь, в programmers.SE. Несмотря на то, что я добавил комментарий к этому ответу с просьбой предоставить информацию, я …

14
Как лучше всего упорядочить параметры в функции?
Иногда (редко) кажется, что создание функции, которая принимает приличное количество параметров, является наилучшим маршрутом. Однако, когда я это делаю, я чувствую, что часто выбираю порядок параметров случайным образом. Я обычно выбираю «по важности», сначала выбираю самый важный параметр. Есть лучший способ сделать это? Существует ли «наилучшая практика» для упорядочения параметров, …

15
Чистый код: функции с несколькими параметрами [закрыто]
Я прочитал первые главы « Чистого кода » Роберта С. Мартина, и мне кажется, что это довольно хорошо, но у меня есть сомнения, в одной части упоминается, что хорошо (познавательно), что функции должны иметь как можно меньше параметров насколько это возможно, он даже предполагает, что 3 или более параметров - …

20
Должны ли вы написать хорошую документацию и чистый код для увеличения «Bus Factor»?
Одной из основных целей компаний-разработчиков программного обеспечения является увеличение их шинного фактора. Об этом также говорится в докладе, организованном Google . Это означает, что вы должны кодировать и документировать все так, чтобы, если завтра вас переедет автобус, проект все еще может продолжаться. Другими словами, вы должны легко заменить себя другим …

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

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

3
Чистая архитектура дяди Боба - класс сущности / модели для каждого слоя?
ЗАДНИЙ ПЛАН : Я пытаюсь использовать чистую архитектуру дяди Боба в моем приложении для Android. Я изучил много проектов с открытым исходным кодом, которые пытаются показать правильный способ сделать это, и я нашел интересную реализацию, основанную на RxAndroid. Что я заметил В каждом слое (презентация, домен и данные) есть класс …

8
Инвертирование оператора IF
Так что я программирую уже несколько лет, а недавно начал больше использовать ReSharper. Одна вещь, которую ReSharper всегда предлагает мне, - это «инвертировать» if, чтобы уменьшить вложенность ». Допустим, у меня есть этот код: foreach (someObject in someObjectList) { if(someObject != null) { someOtherObject = someObject.SomeProperty; } } И ReSharper …

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

5
Pass ID или объект?
При предоставлении метода бизнес-логики для получения объекта домена должен ли параметр принимать объект или идентификатор? Например, мы должны сделать это: public Foo GetItem(int id) {} или это: public Foo GetItem(Foo foo) {} Я верю в передачу объектов вокруг, в целом, но как насчет того случая, когда мы получаем объект, и …

14
Есть ли какая-то польза от одержимости созданием кода «красиво»?
Иногда я трачу смехотворное количество времени (часов) на то, чтобы сделать код «красивым». Я имею в виду, чтобы все выглядело симметрично. Я на самом деле быстро прокручиваю весь класс, чтобы увидеть, не выпрыгивает ли что-нибудь как не «красивое» или «чистое». Я трачу свое время? Есть ли какая-то ценность в таком …
34 clean-code 

6
Дополнительная строка в блоке против дополнительного параметра в чистом коде
контекст В Чистом коде , на странице 35, написано Это подразумевает, что блоки внутри операторов if, операторов else, операторов while и т. Д. Должны быть длиной в одну строку. Вероятно, эта строка должна быть вызовом функции. Это не только уменьшает объем включаемой функции, но также добавляет документальное значение, поскольку функция, …
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() …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.