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

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

11
Тесты интеграции (базы данных) плохие?
Некоторые люди утверждают, что интеграционные тесты - это все виды плохого и неправильного - все должно быть проверено модулем, что означает, что вы должны смоделировать зависимости; вариант, который по разным причинам мне не всегда нравится. Я считаю, что в некоторых случаях юнит-тест просто ничего не доказывает. Давайте возьмем следующую (тривиальную, …

8
Почему правительство США запрещает использование динамических языков для защищенных проектов?
Я знаю некоторых людей, которые в настоящее время работают над проектом для вооруженных сил США (низкий уровень безопасности, данные типа не боевых человеческих ресурсов). Начальное состояние кода проекта было передано военным для проверки, и они запустили программу через какой-то инструмент анализатора безопасности. Он вернул отчет об известных проблемах безопасности в …

11
Однострочные функции, которые вызываются только один раз
Рассмотрим функцию без параметров ( edit: необязательно), которая выполняет одну строку кода и вызывается в программе только один раз (хотя не исключено, что она понадобится снова в будущем). Он может выполнить запрос, проверить некоторые значения, сделать что-то с использованием регулярных выражений ... что-то неясное или «хакерское». Основанием для этого было …
120 functions 

21
Есть ли способ бороться с продажами постоянно завышенным? [закрыто]
Кажется, я неоднократно застревал в ситуации, когда даты выпуска устанавливаются не на основе каких-либо технических аспектов, а потому, что кто-то в отделе продаж к тому времени уже связывался с клиентом. Основываясь на обсуждениях с друзьями по разработке в других компаниях, похоже, происходит то же самое. «Вот готовый набор функций, а …

7
Как избежать забвения более влиятельным автором?
Как недавно сообщалось здесь : Xamarin разработал Cocos2D-XNA, среду разработки игр для 2D / 3D, создав кроссплатформенную библиотеку, которая может быть включена в проекты PCL. Однако основатель проекта, который был разветвлен, говорит : Цель лицензии MIT состоит в том, чтобы отменить ваше добросовестное использование. Не для того, чтобы побуждать вас …

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

11
Что подтверждает утверждение, что C ++ может быть быстрее, чем JVM или CLR с JIT? [закрыто]
Повторяющаяся тема SE, которую я заметил во многих вопросах, - это постоянный аргумент, что C ++ быстрее и / или более эффективен, чем языки более высокого уровня, такие как Java. Противоположным аргументом является то, что современная JVM или CLR могут быть столь же эффективными благодаря JIT и т. Д. Для …
119 java  c++  performance  jit 

9
Я слишком молод, чтобы выгореть? [закрыто]
Я чувствую, что сгорел, хотя я только закончил колледж на 5 лет. Первые 3 года моей карьеры дела шли отлично. Я никогда не был чем-то особенным в школе, но я чувствовал себя особенным в моей компании. Оглядываясь назад, я мог сказать, что сделал все правильные шаги: Я активно пытался улучшить …
119 productivity 

8
Критика и недостатки внедрения зависимости
Внедрение зависимостей (DI) является хорошо известным и модным паттерном. Большинство инженеров знают его преимущества, такие как: Обеспечение изоляции в модульном тестировании возможно / просто Явно определяющие зависимости класса Содействие хорошему дизайну (например, принцип единой ответственности ) Быстрое включение реализаций (например, DbLoggerвместо ConsoleLogger) Я считаю, что в отрасли существует единодушное мнение, …

14
Есть ли техническая причина, почему в программировании формат даты по умолчанию - ГГГГММДД, а не что-то еще?
Есть ли какая-то инженерная причина, почему это так? В случае СУБД мне было интересно, что она как-то связана с производительностью, поскольку, например, «ГОД» более специфичен, чем «МЕСЯЦ»: у вас есть только один год 2000, но каждый год «Январь», что облегчит / ускорит фильтрацию / сортировку чего-либо по году в первую …

18
Когда я должен сделать первый коммит в систему контроля версий?
Я никогда не уверен, когда проект достаточно далеко, чтобы сначала зафиксировать контроль над исходным кодом. Я обычно откладываю фиксацию до тех пор, пока проект не будет «завершен до фреймворка», и с тех пор я в первую очередь фиксирую функции. (Я не делал никаких личных проектов, достаточно больших, чтобы базовая структура …

14
Почему большинство языков программирования поддерживают возврат только одного значения из функции? [закрыто]
Есть ли причина, по которой функции в большинстве (?) Языков программирования поддерживают любое количество входных параметров, но только одно возвращаемое значение? В большинстве языков можно обойти это ограничение, например, используя выходные параметры, возвращая указатели или определяя / возвращая структуры / классы. Но кажется странным, что языки программирования не были разработаны …

16
Должен ли я удалить код, на который нет ссылок?
Я работаю над кодовой базой среднего размера (100 тыс. Строк), все это относительно новый код (менее года) и имеет хороший охват модульных тестов. Я продолжаю сталкиваться с методами, которые либо больше нигде не используются, либо упоминаются только в модульных тестах, которые проверяют только этот конкретный метод. Должен ли я удалить …

11
Современный способ обработки ошибок…
Некоторое время я размышлял над этой проблемой и постоянно нахожу предостережения и противоречия, поэтому надеюсь, что кто-нибудь сможет сделать вывод о следующем: Избранные исключения по кодам ошибок Насколько мне известно, после четырех лет работы в отрасли, чтения книг, блогов и т. Д. В настоящее время наилучшей практикой для обработки ошибок …

27
Является ли генерация исходного кода анти-паттерном?
Если что-то может быть сгенерировано, то это данные, а не код. Учитывая это, не является ли вся эта идея генерации исходного кода недоразумением? То есть, если для чего-то есть генератор кода, то почему бы не сделать это чем-то надлежащим образом, чтобы оно могло получать требуемые параметры и выполнять правильные действия, …

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