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

16
Как избежать чрезмерной перегрузки метода?

У нас довольно много мест в исходном коде нашего приложения, где один класс имеет много методов с одинаковыми именами и разными параметрами. Эти методы всегда имеют все параметры «предыдущего» метода плюс еще один. Это результат долгой эволюции (устаревший код) и такого мышления (я считаю): « Есть...

16
Способы сломать «Синдром совершенного программиста» [закрыто]

Трудно сказать, что здесь спрашивают. Этот вопрос является двусмысленным, расплывчатым, неполным, чрезмерно широким или риторическим, и на него нельзя дать разумный ответ в его нынешней форме. Чтобы получить разъяснения по этому вопросу, чтобы его можно было снова открыть, посетите справочный...

16
Проверяется ли избыточная проверка на соответствие лучшим практикам?

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

15
Хорошее использование try catch-блоков?

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

15
Булево возвращение set.add (), если условно?

Оператор add класса set возвращает логическое значение, которое имеет значение true, если элемент (который должен быть добавлен) еще не существует, и false в противном случае. Пишет if (set.add(entry)) { //do some more stuff } считается хорошим стилем с точки зрения написания чистого кода? Мне...

15
Чистый код: последствия коротких методов с несколькими параметрами

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

14
Что является полезным для мышления при проведении формальной проверки кода

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

14
Что такое выходной аргумент, как указано в Чистом коде Мартина?

На странице 45 «Чистого кода Роберта Мартина: Справочник по мастерству гибкого программного обеспечения» Мартин пишет, что выходных аргументов следует избегать. У меня возникают проблемы с пониманием значения «выходной аргумент» и почему их следует избегать. Пример Мартина для выходного аргумента...

14
Чистый код - я должен изменить литерал 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; const int...

13
Чистая проверка архитектуры в домене против уровня сохраняемости данных?

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

13
Методы минимизации количества аргументов функции

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

13
Существует ли тематическое исследование, которое убедительно демонстрирует, что чистый код улучшил разработку? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 9 месяцев назад . Моя первая настоящая работа в качестве программиста, и я вижу только...

12
Правильный дизайн для класса с одним методом, который может варьироваться между клиентами

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

12
Насколько часто используются «вероятные» и «маловероятные» макросы?

Часто известные как likelyи unlikelyмакросы помогают компилятору узнать, будет ли ifон вводиться или пропускается. Его использование приводит к некоторым (довольно незначительным) улучшениям производительности. Я начал использовать их недавно, и я не уверен, как часто следует использовать такие...

11
Каковы хорошие способы сбалансировать информативные исключения и чистый код?

С нашим общедоступным 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...

11
Действительно ли практики «чистого кода» настолько чисты и полезны? [закрыто]

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

11
Что более приемлемо - булево присваивание через if / else или логическое выражение?

Что будет считаться более ремонтопригодным? if (a == b) c = true; else c = false; или же c = (a == b); Я пытался посмотреть в Code Complete, но не могу найти ответ. Я думаю, что первое является более читабельным (вы можете буквально прочитать его вслух), что, как мне кажется, делает его более...

11
Я страдаю от чрезмерного использования инкапсуляции?

Я заметил кое-что в своем коде в различных проектах, которое кажется мне запахом кода и чем-то плохим, но я не могу с этим справиться. Пытаясь написать «чистый код», я склонен чрезмерно использовать частные методы, чтобы облегчить чтение моего кода. Проблема в том, что код действительно чище, но...

10
Избегайте геттеров и сеттеров, отображающих информацию о пользователях

Фон Я читаю «Чистую книгу кодов», и, в частности, я работаю над художественными объектами Kata, как банковский счет, и я застрял на этом правиле: Девятое правило художественных объектов - мы не используем геттеры или сеттеры. Это кажется довольно забавным, и я согласен с этим принципом. Более того,...

10
Проблемы с пониманием того, как чистый код выглядит в реальной жизни

В настоящее время я читаю и работаю над «Чистым кодом: Справочник по мастерству гибкого программного обеспечения» Роберта Мартина. Автор говорит о том, как функция должна делать только одну вещь и, следовательно, быть относительно короткой. Конкретно Мартин пишет: Это означает, что блоки внутри...