Вопросы с тегом «clean-code»

Термин «чистый код» используется для описания компьютерного программного кода, который является кратким, простым для понимания и четко выражает намерение программиста. Вопросы с этим тегом касаются процесса написания чистого кода или рефакторинга старого «грязного» кода в чистый код.

209
Мой босс просит меня прекратить писать небольшие функции и делать все в одном цикле

Я прочитал книгу под названием « Чистый код » Роберта Мартина. В этой книге я видел много методов для очистки кода, таких как написание небольших функций, тщательный выбор имен и т. Д. Это, безусловно, самая интересная книга о чистом коде, которую я читал. Однако сегодня моему боссу не понравилось,...

169
Чистое программирование при написании научного кода

Я действительно не пишу большие проекты. Я не поддерживаю огромную базу данных и не имею дело с миллионами строк кода. Мой код - это, в основном, "скриптовые" вещи - вещи для проверки математических функций или для моделирования чего-либо - "научное программирование". Самые длинные программы, над...

168
Почему Чистый код предлагает избегать защищенных переменных?

Чистый код предлагает избегать защищенных переменных в разделе «Вертикальное расстояние» главы «Форматирование»: Концепции, которые тесно связаны, должны быть расположены вертикально близко друг к другу. Очевидно, что это правило не работает для концепций, которые принадлежат отдельным файлам. Но...

133
Как я узнаю, насколько многоразовыми должны быть мои методы? [закрыто]

Я занимаюсь своими делами дома, и моя жена приходит ко мне и говорит Дорогая .. Можешь ли ты распечатать все консоли Day Light Savings по всему миру на 2018 год в консоли? Мне нужно кое-что проверить. И я очень счастлив, потому что именно этого я ждал всю свою жизнь с опытом Java и придумал: import...

125
Как безопасно удалить фрагмент кода, который выглядит так, как будто он никогда не вводится?

Вы нашли некоторый код, который выглядит излишним, а компилятор этого не замечает. Что вы делаете, чтобы быть уверенным (или настолько близким, насколько можете), что удаление этого кода не вызовет регрессии. На ум приходят две идеи. «Просто» используйте дедукцию, основанную на том, должен ли код...

118
Должен ли я удалить код, на который нет ссылок?

Я работаю над кодовой базой среднего размера (100 тыс. Строк), все это относительно новый код (менее года) и имеет хороший охват модульных тестов. Я продолжаю сталкиваться с методами, которые либо больше нигде не используются, либо упоминаются только в модульных тестах, которые проверяют только...

106
Как вы оправдываете написание большего количества кода, следуя правилам чистого кода?

Заметка модератора На этот вопрос уже отправлено 17 ответов . Прежде чем опубликовать новый ответ, пожалуйста, прочитайте существующие ответы и убедитесь, что ваша точка зрения еще не покрыта должным образом. Я следовал некоторым рекомендациям, рекомендованным в книге «Чистый код» Роберта Мартина,...

102
В какой момент краткость перестает быть добродетелью?

Недавнее исправление ошибки требовало от меня просмотра кода, написанного другими членами команды, где я нашел это (это C #): return (decimal)CostIn > 0 && CostOut > 0 ? (((decimal)CostOut - (decimal)CostIn) / (decimal)CostOut) * 100 : 0; Теперь, если есть веская причина для всех этих...

95
Почему я должен использовать внедрение зависимости?

Я с трудом ищу ресурсы о том, почему я должен использовать внедрение зависимости . Большинство ресурсов, которые я вижу, объясняют, что он просто передает экземпляр объекта другому экземпляру объекта, но почему? Это только для более чистой архитектуры / кода или это влияет на производительность в...

83
Чистые комментарии к коду против документации класса

У меня есть некоторые обсуждения с моими новыми коллегами относительно комментариев. Нам обоим нравится чистый код , и я прекрасно согласен с тем, что следует избегать комментариев встроенного кода и что имена классов и методов должны использоваться для выражения того, что они делают. Тем не менее,...

80
Как поддерживаются огромные библиотеки с открытым исходным кодом, в то время как код далек от практики «чистого кода»?

Я все еще неопытен для написания высококачественного кода, поэтому я читаю книги, посвященные такой проблеме, как « Чистый код » Роберта С. Мартина, и продолжаю проверять код известных библиотек, чтобы улучшить свои навыки. Хотя многие библиотеки с открытым исходным кодом поддерживаются годами, а...

68
Проблемы с именами: следует ли переименовать «ISomething» в «Something»? [закрыто]

В главе «Дядя Боб» об именах в « Чистом коде» рекомендуется избегать кодировок в именах, главным образом в отношении венгерских обозначений. Он также особо упоминает удаление Iпрефикса из интерфейсов, но не показывает примеров этого. Давайте предположим следующее: Использование интерфейса в...

68
Предотвращение компиляции устаревшего кода после достижения крайнего срока [закрыто]

В моей команде мы убирали много старых вещей в большом монолитном проекте (целые классы, методы и т. Д.). Во время этих задач по очистке мне было интересно, есть ли какая-нибудь аннотация или библиотека более привлекательная, чем обычно @Deprecated. Это @FancyDeprecatedдолжно помешать успешной...

63
Почему в CSS и SVG допустимо большое количество магических чисел?

Часто я вижу вопросы , включенные в список Hot Network Вопросы , как это , что в основном спрашивают «как я могу сделать эту произвольную форму в CSS». Неизменно ответом является пара блоков данных CSS или SVG с кучей, казалось бы, случайных жестко закодированных значений, которые формируют...

60
Является ли изменение входящего параметра антипаттерном? [закрыто]

Я программирую на Java, и я всегда делаю конвертеры вроде этого: public OtherObject MyObject2OtherObject(MyObject mo){ ... Do the conversion return otherObject; } На новом рабочем месте шаблон: public void MyObject2OtherObject(MyObject mo, OtherObject oo){ ... Do the conversion } Для меня это...

60
Лучше ли вызывать функцию, которая не имеет эффекта в этот момент, ЕСЛИ она улучшает ясность кода?

У меня есть три вида в моей программе (приложение для iOS). Только один из них когда-либо активен одновременно, поэтому я отключаю видимость для двух из них и переключаю видимость, когда пользователь нажимает кнопки. Представления инициализируются как видимые, поэтому я отключил видимость в коде,...

53
Что такое код «зависти к особенностям» и почему он считается запахом кода?

Этот вопрос о SO говорит о том, чтобы исправить то, что OP считал кодом зависти к функциям . Другой пример, где я видел, как цитируется эта изящная фраза, - недавно полученный ответ здесь, в programmers.SE. Несмотря на то, что я добавил комментарий к этому ответу с просьбой предоставить информацию,...

52
Как лучше всего упорядочить параметры в функции?

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

49
Чистый код: функции с несколькими параметрами [закрыто]

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

48
Должны ли вы написать хорошую документацию и чистый код для увеличения «Bus Factor»?

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