Вопросы с тегом «dry»

DRY - это сокращение от «Не повторяйся». Эта парадигма призывает избегать избыточности кода и данных.

12
Лучшие практики для совместного использования крошечных фрагментов кода между проектами
Я всегда стараюсь строго следовать принципу СУХОЙ на работе; каждый раз, когда я повторяю код из-за лени, он кусается позже, когда мне нужно сохранить этот код в двух местах. Но часто я пишу небольшие методы (возможно, 10–15 строк кода), которые необходимо повторно использовать в двух проектах, которые не могут ссылаться …

15
Почему СУХОЙ важно?
Очень просто, зачем мне писать код, который работает для всех случаев и масштабируемых данных, когда все, что мне нужно сделать, это повторить один и тот же процесс несколько раз с небольшими изменениями? Мне вряд ли понадобится редактировать это снова в ближайшее время. Похоже, гораздо меньше работы, чтобы просто пойти ... …
81 code-quality  dry 

3
Является ли «композиция над наследством» нарушением «сухого принципа»?
Например, предположим, у меня есть класс для расширения других классов: public class LoginPage { public String userId; public String session; public boolean checkSessionValid() { } } и некоторые подклассы: public class HomePage extends LoginPage { } public class EditInfoPage extends LoginPage { } На самом деле, у подкласса нет никаких …

1
СУХОЙ не связанный, но почти идентичный код
У меня есть некоторый код, который почти идентичен, но использует абсолютно разные типы, без наследования между ними, в основной переменной. В частности, я пишу анализатор с Roslyn для C # и VB.NET следующих типов: Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax Мне интересно, если из-за того, что код выполняет одно и то же, я должен …
34 c#  design  dry 

5
Много маленьких классов против логического (но) сложного наследования
Мне интересно, что лучше с точки зрения хорошего ООП-дизайна, чистого кода, гибкости и предотвращения запаха кода в будущем. Ситуация с изображением, когда у вас есть много очень похожих объектов, которые вы должны представлять как классы. Эти классы не имеют никакой конкретной функциональности, только классы данных и отличаются только по имени …

9
Добавление сложности для удаления дублирующего кода
У меня есть несколько классов, которые все наследуются от общего базового класса. Базовый класс содержит коллекцию из нескольких объектов типа T. Каждый дочерний класс должен иметь возможность вычислять интерполированные значения из коллекции объектов, но, поскольку дочерние классы используют разные типы, вычисление немного отличается от класса к классу. До сих пор …

8
Как реализовать принцип СУХОГО при использовании ключевого слова using?
Рассмотрим эти методы: public List<Employee> GetAllEmployees() { using (Entities entities = new Entities()) { return entities.Employees.ToList(); } } public List<Job> GetAllJobs() { using (Entities entities = new Entities()) { return entities.Jobs.ToList(); } } public List<Task> GetAllTasksOfTheJob(Job job) { using (Entities entities = new Entities()) { return entities.Tasks.Where(t => t.JobId == …

3
Есть ли развязка козыря СУХОЙ в ОТДЫХЕ?
Я строю REST API, чтобы показать большую часть функциональности существующего Java API. Оба API предназначены для внутреннего использования в моей организации; Я не должен проектировать для внешнего использования. Я имею влияние на оба API, но я использую REST. Java API будет по-прежнему использоваться для локальных приложений (он не «удаляется»), но …
19 java  api  rest  coupling  dry 

4
Управление проверками на стороне клиента и на стороне сервера в одном месте
Я на 100% согласен с тем, что нужно обязательно использовать проверки данных как на стороне клиента, так и на стороне сервера. Однако в рамках и средах, в которых я работал, подходы, которые я видел, никогда не были СУХОЙ. В большинстве случаев нет плана или шаблона - проверки записываются в спецификации …

1
Рассуждаете подождать до третьего раза в правиле трех?
Я только что наткнулся на статью « Правило трех » в википедии Правило трех - это практическое правило рефакторинга кода, позволяющее решить, когда реплицируемый фрагмент кода должен быть заменен новой процедурой. В нем говорится, что код может быть скопирован один раз, но когда один и тот же код используется три …

6
Проверка входного параметра в вызывающей стороне: дублирование кода?
Где лучшее место для проверки входных параметров функции: в вызывающей программе или в самой функции? Поскольку я хотел бы улучшить свой стиль кодирования, я пытаюсь найти лучшие практики или некоторые правила для этой проблемы. Когда и что лучше. В моих предыдущих проектах мы проверяли и обрабатывали каждый входной параметр внутри …

5
Можно ли применять DRY без увеличения сцепления?
Предположим, у нас есть программный модуль A, который реализует функцию F. Другой модуль B реализует ту же функцию, что и F '. Есть несколько способов избавиться от дубликата кода: Пусть A использует F 'из B. Пусть B использует F из A. Поместите F в его собственный модуль C и позвольте …

3
Кодовая связь введена DRY и OOD
Я ищу руководство по соединению DRY vs Code. Я не люблю дублировать мой код, а также мне не нравится связывание кода между несвязанными модулями. Поэтому я реорганизую дублирующий код, если найду идентично дублирующий код через год после того, как дублирование было введено. Однако я все чаще сталкиваюсь с ситуациями, когда …
14 design  dry  coupling 

2
Const C ++ DRY Стратегии
Чтобы избежать нетривиального дублирования, связанного с константой в C ++, существуют ли случаи, когда const_cast будет работать, но частная константная функция, возвращающая non-const, не будет? В пункте 3 « Эффективного C ++» Скотта Мейерса он предполагает, что const_cast в сочетании со статическим приведением может быть эффективным и безопасным способом избежать …
14 c++  dry  const 

5
Для ORM, поддерживающего проверку данных, должны ли ограничения также применяться в базе данных?
Я всегда применял ограничения на уровне базы данных в дополнение к моим (ActiveRecord) моделям. Но мне было интересно, действительно ли это требуется? Немного фона Недавно мне пришлось провести модульное тестирование базового метода автоматической генерации меток времени для модели. Обычно тест создает экземпляр модели и сохраняет его без проверки. Но есть …
13 database  orm  validation  dry 

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