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

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

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

6
Что я должен сделать, чтобы масштабировать сайт с большим трафиком?
Какие передовые практики следует предпринять для веб-сайта, который необходимо «масштабировать» для управления пропускной способностью? Это особенно актуально сейчас, когда люди рассматривают облако, но могут упустить основные принципы. Мне интересно услышать обо всем, что вы считаете лучшей практикой, от задач уровня разработки до инфраструктуры и управления.

2
Почему «42» является предпочтительным числом при указании чего-то случайного?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я видел это на SO много раз. Всякий раз, когда вопрос расплывчат, и вопрос задает какой-то волшебный ответ, кто-то или другой оставляют …
14 history  numbers 

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

10
Будут ли доказательства правильности кода когда-либо распространяться? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Все программы, кроме самых тривиальных, заполнены ошибками, и все, что обещает их устранить, …

12
Стоит ли использовать префиксы типа и области действия в соглашениях об именах?
Недавно начав свою первую работу в качестве разработчика программного обеспечения, я был немного удивлен, когда мне сказали, что мне не нужно следовать никаким соглашениям об именах в моем коде. Код, написанный группами, работающими над другими, более крупными проектами, следовал соглашениям об именах, но, поскольку меня пригласили написать новое, автономное приложение, …

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

3
Какие барьеры мешают широкому распространению формальных методов? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 2 года назад . Формальные методы могут использоваться для указания, проверки и генерации кода для приложения. Это …

3
Кодовая связь введена DRY и OOD
Я ищу руководство по соединению DRY vs Code. Я не люблю дублировать мой код, а также мне не нравится связывание кода между несвязанными модулями. Поэтому я реорганизую дублирующий код, если найду идентично дублирующий код через год после того, как дублирование было введено. Однако я все чаще сталкиваюсь с ситуациями, когда …
14 design  dry  coupling 

3
Является ли инъекция зависимостей бедного человека хорошим способом ввести тестируемость в устаревшее приложение?
В прошлом году я создал новую систему, используя Dependency Injection и контейнер IOC. Это научило меня много о DI! Однако даже после изучения концепций и правильных шаблонов я считаю сложной задачей отделить код и внедрить контейнер IOC в устаревшее приложение. Приложение достаточно велико до такой степени, что истинная реализация будет …

3
Повторное увлажнение агрегатов из проекции «моментальных снимков», а не из хранилища событий
Поэтому я некоторое время заигрываю с Event Sourcing и CQRS, хотя у меня никогда не было возможности применять шаблоны в реальном проекте. Я понимаю преимущества разделения ваших проблем с чтением и записью, и я ценю то, как Event Sourcing облегчает проецирование изменений состояния в базы данных «Read Model», которые отличаются …

1
Зачем кому-то использовать multipart / form-data для смешанных данных и передачи файлов?
Я работаю в C # и поддерживаю связь между двумя приложениями, которые я пишу. Мне понравились Web API и JSON. Сейчас я нахожусь в точке, где я пишу процедуру для отправки записи между двумя серверами, которая включает в себя некоторые текстовые данные и файл. Согласно Интернету, я должен использовать запрос …

2
Что такое выходной аргумент, как указано в Чистом коде Мартина?
На странице 45 «Чистого кода Роберта Мартина: Справочник по мастерству гибкого программного обеспечения» Мартин пишет, что выходных аргументов следует избегать. У меня возникают проблемы с пониманием значения «выходной аргумент» и почему их следует избегать. Пример Мартина для выходного аргумента appendFooter(s);вызывает функцию public void appendFooter(StringBuffer report). Его улучшение кодаreport.appendFooter(); Возможно, это …
14 java  clean-code 


3
Каков хороший дизайн для обеспечения обратной совместимости файлов между различными версиями программного обеспечения?
Каков хороший дизайн для обеспечения обратной совместимости типов файлов между различными версиями программного обеспечения? Например, как Microsoft получает Word 2007, 2010 и 2013 и т. Д. Во все открытые файлы DOCX, но разные редакции могут сохранять больше / меньше данных и сохранять данные немного по-разному, все в один и тот …

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