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

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

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

133
Это нарушение принципа подстановки Лискова?

Скажем, у нас есть список сущностей задач и ProjectTaskподтип. Задачи могут быть закрыты в любое время, кроме тех, ProjectTasksкоторые не могут быть закрыты, если они имеют статус Запущено. Пользовательский интерфейс должен гарантировать, что опция закрытия запуска ProjectTaskникогда не будет...

124
Должно ли решение быть настолько общим, насколько это возможно, или настолько конкретным, насколько это возможно?

Скажем, у меня есть объект с атрибутом «тип». Там может быть более 20 возможных типов. Теперь меня попросили реализовать что-то, что позволило бы изменить тип с A-> B, что является единственным вариантом использования. Так я должен реализовать что-то, что позволяет произвольные изменения типа,...

123
Есть ли «реальная» причина, по которой множественное наследование ненавидят?

Мне всегда нравилась идея поддержки множественного наследования в языке. Чаще всего это преднамеренно, и предполагаемая «замена» - это интерфейсы. Интерфейсы просто не охватывают все то же основание, что и множественное наследование, и это ограничение может иногда приводить к дополнительному...

122
Какова идеальная длина метода для вас? [закрыто]

В объектно-ориентированном программировании, конечно, нет точного правила о максимальной длине метода, но я все же обнаружил, что эти две цитаты несколько противоречат друг другу, поэтому я хотел бы услышать, что вы думаете. В « Чистом коде: справочник по мастерству гибкого программного...

118
Почему большинство языков программирования поддерживают возврат только одного значения из функции? [закрыто]

Есть ли причина, по которой функции в большинстве (?) Языков программирования поддерживают любое количество входных параметров, но только одно возвращаемое значение? В большинстве языков можно обойти это ограничение, например, используя выходные параметры, возвращая указатели или определяя /...

118
Современный способ обработки ошибок…

Некоторое время я размышлял над этой проблемой и постоянно нахожу предостережения и противоречия, поэтому надеюсь, что кто-нибудь сможет сделать вывод о следующем: Избранные исключения по кодам ошибок Насколько мне известно, после четырех лет работы в отрасли, чтения книг, блогов и т. Д. В...

115
Что на самом деле является «бизнес-логикой»?

Я занимаюсь веб-разработкой с 2009 года, когда начал работать с PHP. Когда я перешел на ASP.NET, я много слышал о DDD и OOAD, где большое внимание уделяется этой «бизнес-логике» и «бизнес-правилам». Дело в том, что все приложения, которые я разрабатывал до сих пор, были посвящены операциям CRUD, и...

115
Почему 0 ложно?

Этот вопрос может показаться глупым, но почему 0оценки falseи любое другое [целочисленное] значение для trueбольшинства языков программирования составляют? Сравнение строк Поскольку вопрос кажется немного слишком простым, я объясню немного подробнее: во-первых, это может показаться очевидным любому...

108
Какую бизнес-логику должна реализовать база данных?

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

107
Действительно ли шаблоны проектирования действительно важны в наши дни?

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

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

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

105
Почему квадратное наследование от Rectangle будет проблематичным, если мы переопределим методы SetWidth и SetHeight?

Если Квадрат является типом Прямоугольника, то почему Квадрат не может наследовать от Прямоугольника? Или почему это плохой дизайн? Я слышал, как люди говорят: Если вы сделали Square производным от Rectangle, то Square должен использоваться везде, где вы ожидаете прямоугольник В чем здесь проблема?...

105
Почему именно XML называют «языком»?

Мне было интересно, почему в названии XML есть буква L. Сам по себе XML ничего не «делает». Это просто формат хранения данных, а не язык! Языки "делают" вещи. Чтобы заставить XML «делать» что-то, превращать его в язык, нужно добавить xmlnsатрибуты к его корневому элементу. Только тогда он сообщает...

104
Что такое домен?

Я часто вижу этот термин в контексте архитектуры программного обеспечения («доменная модель», «доменный дизайн» и т. Д.). Я прогуглил это, но я получаю тонны различных определений. Так что это на самом...

103
Тестируемый код лучше кода?

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

99
Мне сказали, что исключения должны использоваться только в исключительных случаях. Как я узнаю, является ли мой случай исключительным?

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

96
Как предупредить других программистов о реализации классов

Я пишу классы, которые «должны использоваться особым образом» (я думаю, все классы должны ...). Например, я создаю fooManagerкласс, который требует вызова, скажем, Initialize(string,string). И, чтобы продвинуть пример немного дальше, класс был бы бесполезен, если бы мы не слушали его...

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

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