Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

7
Ссылка на значения базы данных в бизнес-логике
Я думаю, это еще один вопрос о жестком кодировании и передовых методах. Допустим, у меня есть список значений, скажем, фруктов, хранящихся в базе данных (он должен быть в базе данных, так как таблица используется для других целей, таких как отчеты SSRS), с идентификатором: 1 Apple 2 Banana 3 Grapes Я …
43 design 

3
Как я должен внести свой вклад в (в основном) заброшенный проект GitHub?
Недавно я пытался начать сотрудничество с открытым исходным кодом в GitHub и столкнулся с ситуацией, для которой мне любопытно, какой предпочтительный способ продолжить. Около месяца назад я нашел проект на GitHub для библиотеки, которую я уже использовал некоторое время и в которой я нашел (и исправил) несколько ошибок. В качестве …

2
Понимание лицензии Visual Studio Community Edition
Недавно Microsoft выпустила бесплатную версию Visual Studio: Visual Studio Community Edition. лицензия говорит ЕСЛИ ВЫ СОБЛЮДАЕТЕ ЭТИ УСЛОВИЯ ЛИЦЕНЗИИ, ВЫ ИМЕЕТЕ НИЖЕ ПРАВА. ПРАВА НА УСТАНОВКУ И ИСПОЛЬЗОВАНИЕ. а. Индивидуальная лицензия. Если вы работаете над своими собственными приложениями для продажи или для каких-либо других целей, вы можете использовать программное обеспечение …

7
Когда НЕ применять принцип инверсии зависимости?
В настоящее время я пытаюсь выяснить, ТВЕРДЫЙ. Таким образом, принцип обращения зависимостей означает, что любые два класса должны взаимодействовать через интерфейсы, а не напрямую. Пример: если class Aесть метод, который ожидает указатель на объект типа class B, то этот метод должен фактически ожидать объект типа abstract base class of B. …

1
Почему программисты используют `Acme` в качестве имени пакета, пространства имен или каталога [закрыто]
Это может быть или не быть глупым вопросом, но я действительно хотел бы знать ответ на что-то, что беспокоило меня некоторое время. Я довольно часто вижу примеры / соглашения по программированию, где программист создал каталог, в который acmeнужно положить материал. Что Acmeзначит? Почему Acme, а не Emca или другой? Является …


3
Рекомендации по созданию шаблона кодов ошибок для корпоративного проекта в C # [закрыто]
Я работаю над корпоративным проектом, который будет развернут во многих малых и средних предприятиях и предприятиях. Поддержка этого проекта будет затруднена, и поэтому я хочу создать шаблон кодирования для ошибок (например, коды состояния HTTP ). Это позволит сотрудникам службы поддержки обращаться к документам и устранять проблемы как можно скорее. Каковы …

5
Каковы недостатки MVC? [закрыто]
Я использую MVC / MV * с тех пор, как начал организовывать свой код много лет назад. Я использую его так долго, что даже не могу придумать какой-либо другой способ структурирования своего кода, и каждая работа, которую я имел после стажировки, была основана на MVC. У меня вопрос, каковы недостатки …

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

13
Я делаю в 4-5 раз больше историй, чем в среднем, но делаю ошибки с половиной скорости. Графики говорят, что это в 2 раза больше ошибок, как с этим бороться?
Поэтому общепризнанно, что программисты высшего уровня могут создавать на порядок больше / лучше кода, чем их более средние коллеги. Также общепринято, что количество ошибок, допущенных в коде, относительно постоянно для программистов. Вместо этого на него обычно влияют процессы, используемые при написании кода и после написания кода . (Насколько я понимаю) …

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

2
Рекомендуемый код состояния HTTP REST для «достигнутого лимита запроса»
Я собираю спецификацию для службы REST, часть которой будет включать в себя возможность регулирования пользователей в рамках всей службы, а также для групп или отдельных ресурсов. Точно так же тайм-ауты для них будут настраиваться для каждого ресурса / группы / услуги. Я просто просматриваю спецификацию HTTP 1.1 и пытаюсь решить, …

8
Как мне построить структуру данных для динамического «лабиринта» неограниченного размера?
Я на самом деле не уверен, что «лабиринт» является правильным термином. В основном пользователи начинают с одного, Roomкоторый имеет 4 двери (N, S, E и W). Они могут идти в любом направлении, и каждая последующая комната содержит отдельную комнату с от 1 до 4 дверными проемами, которые ведут в другие …

7
Являются ли небольшие объемы функционального программирования понятными для не-FP людей? [закрыто]
Кейс : я работаю в компании, пишу приложение на Python, которое обрабатывает много данных в массивах. На данный момент я являюсь единственным разработчиком этой программы, но, вероятно, она будет использоваться / изменяться / расширяться в будущем (1-3 года) другим программистом, в данный момент мне неизвестным. Я, вероятно, не буду там …

2
Соответствует ли шаблон ActiveRecord / поддерживает принципы проектирования SOLID?
Меня интересует, поощряет или не поощряет ли шаблон ActiveRecord, известный благодаря Ruby on Rails, использование принципов проектирования SOLID . Например, мне кажется, что объекты ActiveRecord содержат как доменную логику, так и логику персистентности, что является нарушением единой ответственности.

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