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

Вопросы о решении проблем и планировании решения посредством разработки программного обеспечения.

322
Стоит ли писать свой бэкэнд как API?

Сегодня у меня была горячая дискуссия о нашем приложении MVC. У нас есть веб-сайт, написанный на MVC ( ASP.NET ), и он обычно следует шаблону «сделать что-то» в представлении -> нажать на контроллер -> контроллер строит модель (вызывает менеджера, который получает данные, строит модель в Сам...

242
Проект почти готов, но процедурный код спагетти. Я переписываю или просто пытаюсь отправить его? [закрыто]

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

215
Действительно ли преждевременная оптимизация - корень всего зла?

Мой коллега сегодня создал класс под названием ThreadLocalFormat, который в основном переместил экземпляры классов Java Format в локальный поток, поскольку они не безопасны для потоков и «относительно дороги» в создании. Я написал быстрый тест и рассчитал, что смогу создать 200 000 экземпляров в...

214
Как можно управлять тысячами правил IF… THEN… ELSE?

Я рассматриваю возможность создания приложения, которое по своей сути будет состоять из тысяч операторов if ... then ... else. Цель приложения - уметь предсказывать, как коровы передвигаются в любом ландшафте. На них влияют такие вещи, как солнце, ветер, источник пищи, внезапные события и т. Д. Как...

209
Нужны ли нам ОО-языки для управления сложностью программного обеспечения?

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

209
Зачем нам нужно так много классов в шаблонах проектирования?

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

199
При использовании принципа единой ответственности, что представляет собой «ответственность»?

Кажется довольно ясным, что «принцип единой ответственности» не означает «только одно». Вот для чего нужны методы. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID);...

194
Неправильно ли использовать логический параметр для определения поведения?

Время от времени я видел практику, которая «чувствует» неправильную, но я не могу четко сформулировать, что в ней плохого. Или, может быть, это просто мое предубеждение. Поехали: Разработчик определяет метод с логическим значением в качестве одного из его параметров, и этот метод вызывает другой, и...

191
Является ли хорошей практикой всегда иметь первичный ключ с автоинкрементом?

В моих базах данных у меня есть привычка иметь автоинкрементный первичный ключ целого числа с именем idдля каждой таблицы, которую я создаю, чтобы у меня был уникальный поиск для любой конкретной строки. Это считается плохой идеей? Есть ли недостатки сделать это таким образом? Иногда у меня будет...

190
Каковы хорошие привычки для разработки аргументов командной строки?

При разработке приложения я начал задаваться вопросом - как мне создавать аргументы командной строки? Многие программы используют формулу, как это -argument valueили /argument value. Решение, которое пришло мне в голову, было argument:value. Я думал, что это хорошо, потому что без пробелов нет...

188
Это плохая практика для хранения больших файлов (10 МБ) в базе данных?

В настоящее время я создаю веб-приложение, которое позволяет пользователям хранить и обмениваться файлами размером от 1 до 10 МБ. Мне кажется, что хранение файлов в базе данных значительно замедлит доступ к базе данных. Это действительная проблема? Лучше ли хранить файлы в файловой системе и...

174
Когда вы используете структуру вместо класса? [закрыто]

Каковы ваши практические правила, когда использовать структуры против классов? Я думаю об определении этих терминов в C #, но если ваш язык имеет схожие понятия, я бы тоже хотел услышать ваше мнение. Я склонен использовать классы практически для всего и использовать структуры только тогда, когда...

166
Как быстрые и грязные программисты знают, что они поняли это правильно?

Если вы спросите программистов, почему они должны писать чистый код, ответ номер один, который вы получите, - это ремонтопригодность. Пока это в моем списке, моя главная причина более непосредственная и менее альтруистическая: я не могу сказать, правильный ли мой новый код, если он слишком грязный....

161
Являются ли нулевые ссылки действительно плохой вещью?

Я слышал, что включение нулевых ссылок в языки программирования является «ошибкой в ​​миллиард долларов». Но почему? Конечно, они могут вызывать NullReferenceExceptions, но что с того? Любой элемент языка может быть источником ошибок при неправильном использовании. И какая альтернатива? Я полагаю,...

151
Что такое антикоррупционный слой и как он используется?

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

144
Банда Четырех тщательно исследовала «Пространство Образца»?

С тех пор, как я впервые узнал о шаблонах проектирования Gang of Four (GoF) , по крайней мере 10 лет назад, у меня сложилось впечатление, что эти 23 шаблона должны быть лишь небольшим образцом чего-то гораздо большего, что мне нравится называть Пространством шаблонов . Это гипотетическое...

140
Являются ли плохие методы программирования типичными для индустрии программного обеспечения? [закрыто]

Я только начал свою первую работу в качестве разработчика программного обеспечения более месяца назад. Все, что я узнал об ООП, ТВЕРДОМ , СУХОМ , ЯГНИ, шаблонах проектирования, SRP и т. Д., Можно выбросить из окна. Они используют C # .NET Webforms и делают почти все внутри Code Behind с очень...

139
Как заставить людей перестать ездить на велосипеде (сосредоточившись на мелочах)?

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

137
Как поиск вписывается в интерфейс RESTful?

При разработке интерфейса RESTful семантика типов запросов считается жизненно важной для проекта. GET - список коллекции или получить элемент PUT - заменить коллекцию или элемент POST - Создать коллекцию или элемент УДАЛИТЬ - Ну, ну, удалить коллекцию или элемент Тем не менее, это не похоже на...

135
Лучше ли возвращать NULL или пустые значения из функций / методов, где возвращаемое значение отсутствует?

Я ищу рекомендацию здесь. Я борюсь с тем, лучше ли возвращать NULL или пустое значение из метода, когда возвращаемое значение отсутствует или не может быть определено. Возьмите следующие два метода в качестве примера: string ReverseString(string stringToReverse) // takes a string and reverses it....