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

39
Документация в ООП должна избегать указания, выполняет ли «получатель» какие-либо вычисления?

Программа CS моей школы избегает каких-либо упоминаний об объектно-ориентированном программировании, поэтому я немного читал сам, чтобы дополнить его - в частности, конструкцию объектно-ориентированного программного обеспечения Бертрана Мейера. Мейер неоднократно подчеркивал, что классы должны...

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

Согласно Неправильно ли использовать логический параметр для определения поведения? Я знаю важность избегания использования логических параметров для определения поведения, например: оригинальная версия public void setState(boolean flag){ if(flag){ a(); }else{ b(); } c(); } новая версия: public...

39
Жесткое кодирование строк, которые никогда не изменятся

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

39
Предпочитаете членов класса или передавать аргументы между внутренними методами?

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

39
Должен ли REST API возвращать 500 Internal Server Error, чтобы указать, что запрос ссылается на несуществующий объект?

Я работаю с REST API, который находится на сервере, который обрабатывает данные для множества устройств IoT. Моя задача - выполнить запрос к серверу с помощью API для сбора конкретной информации о производительности указанных устройств. В одном случае я получаю список доступных устройств и их...

39
Как быстро можно идти?

Go - один из немногих языков, которые должны работать «близко к металлу», то есть он скомпилирован, статически типизирован и выполняет код без изменений, без виртуальной машины. Это должно дать ему преимущество в скорости перед Java, C # и тому подобным. Кажется, однако, что это позади Java (см....

39
Зачем наследовать класс, а не добавлять свойства?

Я нашел дерево наследования в нашей (довольно большой) базе кода, которая выглядит примерно так: public class NamedEntity { public int Id { get; set; } public string Name { get; set; } } public class OrderDateInfo : NamedEntity { } Из того, что я мог бы собрать, это прежде всего используется, чтобы...

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

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

38
Является ли расточительным создание новой таблицы базы данных вместо использования типа данных enum?

Предположим, у меня есть 4 вида услуг, которые я предлагаю (они вряд ли будут часто меняться): тестирование дизайн программирование Другие Предположим, у меня есть 60-80 реальных услуг, каждая из которых подпадает под одну из вышеуказанных категорий. Например, «сервис» может быть «Тестовая...

38
На что вы хотите обратить внимание языковых дизайнеров? [закрыто]

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

38
Злоупотребление или злоупотребление методами программирования [закрыто]

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

38
Что делать, если вы не можете определить логическое значение?

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

38
Разработка программного обеспечения: Быстро или хорошо?

При создании нетривиального приложения лучше всего сосредоточиться на том, чтобы все работало быстро, а также на использовании ярлыков в коде, таких как смешивание логики модели с вашими представлениями, нарушение инкапсуляции - типичные запахи кода? Или вам лучше потратить время на предварительную...

38
Лучшие практики использования пространств имен в C ++ [закрыто]

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

38
Недостатки управления памятью на основе областей

Мне действительно нравится управление памятью на основе области (SBMM) или RAII , так как на него чаще всего (сбивает с толку?) Ссылается сообщество C ++. Насколько я знаю, за исключением C ++ (и C), сегодня нет другого основного языка, который бы использовал SBMM / RAII в качестве основного...

38
Pass ID или объект?

При предоставлении метода бизнес-логики для получения объекта домена должен ли параметр принимать объект или идентификатор? Например, мы должны сделать это: public Foo GetItem(int id) {} или это: public Foo GetItem(Foo foo) {} Я верю в передачу объектов вокруг, в целом, но как насчет того случая,...

38
Сохранение объекта с помощью собственного метода или другого класса?

Если я хочу сохранить и извлечь объект, должен ли я создать другой класс для его обработки или лучше сделать это в самом классе? Или, может быть, смешивая оба? Что рекомендуется в соответствии с парадигмой ООД? Например Class Student { public string Name {set; get;} .... public bool Save() {...

38
Есть ли шаблон для обработки конфликтующих параметров функции?

У нас есть функция API, которая разбивает общую сумму на ежемесячные суммы на основе заданных дат начала и окончания. // JavaScript function convertToMonths(timePeriod) { // ... returns the given time period converted to months } function getPaymentBreakdown(total, startDate, endDate) { const...