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

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

6
Аннотировать исходный код с диаграммами в качестве комментариев
Я пишу много кода (прежде всего с ++ и javascript), который затрагивает вычислительную геометрию и графику и подобные темы, поэтому я обнаружил, что визуальные диаграммы являются неотъемлемой частью процесса решения проблем. Я только что определил, что «о, не было бы просто замечательно, если бы я мог как-то прикрепить нарисованную от …

11
Принцип KISS применяется к дизайну языка программирования?
KISS («оставайся простым, глупым» или «делай это простым глупым», см., Например, здесь ) является важным принципом в разработке программного обеспечения, даже если он явно возник в инженерном деле. Ссылаясь на статью в Википедии: Этот принцип лучше всего иллюстрируется историей о том, как Джонсон вручил команде инженеров-конструкторов несколько инструментов, при этом …

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

5
Должны ли стандарты кодирования применяться сервером непрерывной интеграции?
Должны ли стандарты / стиль кодирования быть применены сервером непрерывной интеграции, на котором запущены инструменты статического анализа (например, PMD, StyleCop / FxCop) и не выполняется сборка, если стандарты не соблюдаются? Какие типы правил не должны использоваться для сбоя сборки?

4
Доступ к хранилищам из домена
Скажем, у нас есть система регистрации задач, когда задача регистрируется, пользователь указывает категорию, и задача по умолчанию имеет статус «Не выполнено». Предположим, что в этом случае Category и Status должны быть реализованы как объекты. Обычно я бы сделал это: Уровень приложений: public class TaskService { //... public void Add(Guid categoryId, …

4
Почему минимизация HTML / Javascript полезна
Почему минимизация HTML / Javascript полезна, когда протокол HTTP уже поддерживает сжатие данных gzip? Я понимаю, что минимизация Javascript / HTML потенциально может значительно уменьшить размер файлов Javascript / HTML, удаляя ненужные пробелы и, возможно, переименовывая переменные в несколько букв каждая, но алгоритм LZW не особенно хорошо работает, когда много …
14 javascript  html  http  minify 

5
Как сохранить выпущенные двоичные файлы под контролем версий?
Как сохранить выпущенные двоичные файлы под контролем версий? Это позволяет отслеживать, какие вещи меняются между каждым выпуском. Я имею в виду отделение выпущенных двоичных файлов от репозитория исходного кода. Выпущенные двоичные файлы создаются из программного обеспечения Continuous Integration или компилируются вручную.

4
Смущает изменение журнала спринта во время спринта
В последнее время я много читал о схватках, и обнаружил противоречивую информацию о том, можно ли изменить отставание спринта во время спринта. В статье в Википедии о scrum говорится, что это не нормально, и в других статьях об этом тоже говорится. Также мой профессор по разработке программного обеспечения преподавал то …

5
оператор switch - обработка случая по умолчанию, когда он не может быть достигнут
Если я использую оператор switch для обработки значений из перечисления (принадлежащего моему классу) и у меня есть регистр для каждого возможного значения - стоит ли добавлять код для обработки случая «по умолчанию»? enum MyEnum { MyFoo, MyBar, MyBat } MyEnum myEnum = GetMyEnum(); switch (myEnum) { case MyFoo: DoFoo(); break; …

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

1
В чем отличие от двухтактных моделей разработки?
Я читал « Объяснение экстремального программирования», второе издание, а в главе 11 «Теория ограничений» авторы рассказывают о старой и устаревшей модели «push» развития и способе XP, модели «pull» . Это выглядит как довольно важная концепция, но для этого требуется только очень маленький абзац и два изображения, которые являются просто иллюстрациями …

5
Как обеспечить единый стандарт кодирования в .NET с поддержкой инструментов
Наверное, основная ситуация всем знакома. Вы согласовали определенные стандарты кодирования в своей команде, и теперь пришло время убедиться, что все следуют им. Некоторые делают это с помощью тяжелого парного программирования, другие поддерживают список стандартов кодирования и проводят ручной обзор. Другие даже используют инструмент статического анализа кода из Visual Studio, чтобы …
14 c#  .net  coding-style 

7
Создание модульных тестов на уровне приложения CRUD, как я могу сделать тесты независимыми?
Поэтому я пытаюсь сделать свои юнит-тесты как можно более простыми, но это становится проблематичным, когда я тестирую несколько простых методов добавления / удаления. Для метода add мне нужно создать фиктивный объект и добавить его, а затем, после успешного прохождения теста, я должен удалить фиктивный объект. И для теста удаления мне, …

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

4
Сравнительные базы данных
Я вижу много дискуссий о производительности db 'x' или о том, что переход от 'x' к 'y' улучшил производительность нашего сайта. Я пока не вижу правильного бенчмаркинга, который работает в разных типах баз данных. Можно ли написать значимый тест, который можно использовать для нескольких типов БД, таких как реляционные, ориентированные …

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