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

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

5
Как объяснить нетехническому человеку, почему задача займет намного больше времени, чем они думают? [закрыто]
Почти каждый разработчик должен ответить на вопросы со стороны бизнеса, такие как: Почему понадобится 2 дня, чтобы добавить эту простую контактную форму? Когда разработчик оценивает эту задачу, он может разделить ее на этапы: внести некоторые изменения в базу данных оптимизировать изменения БД по скорости добавить внешний конец HTML написать код …

14
Как долго программисты вообще остаются в промышленности? [закрыто]
За многие годы я много слышал о том, что те, кто работает в мире информационных технологий, обычно не делают из этого пожизненную карьеру, а стремятся «выгореть» и начать новую карьеру, занимаясь чем-то другим, не связанным с этим (например, переход от разработки программного обеспечения к бухгалтерскому учету). Считаете ли вы, что …
60 experience 

16
FizzBuzz - правда? [закрыто]
Когда речь заходит о вопросах «собеседования», часто возникает тема FizzBuzz. Об этом также есть пост Кодирующего Ужаса . Теперь, если вам надоело читать сайты, подобные этому, вы, вероятно, с меньшей вероятностью попадете в демографическую группу программистов, которые найдут FizzBuzz совсем не тривиальным. Но правда ли, что 99% программистов будут бороться …
60 interview 


16
Зачем использовать! Boolean_variable Over boolean_variable == false
Комментарий к этому вопросу: проверка, возвращает ли метод значение false: присваивать результат временной переменной или помещать вызов метода непосредственно в условное выражение? говорит, что вы должны использовать !booleanвместо того, чтобы boolean == falseпри тестировании условий. Почему? Для меня boolean == falseэто намного более естественно на английском языке и более явно. …

9
std :: shared_ptr в крайнем случае?
Я просто смотрел трансляции "Going Native 2012" и заметил обсуждение std::shared_ptr. Я был немного удивлен, услышав несколько отрицательный взгляд Бьярне на std::shared_ptrего комментарий о том, что его следует использовать в качестве «последнего средства», когда время жизни объекта не определено (что, я считаю, по его мнению, должно быть нечастым случаем). Кто-нибудь …

4
Как единственный разработчик (на данный момент), как я должен использовать Git? [закрыто]
У меня есть несколько проектов на Git, в которые я в конечном итоге хочу привлечь других. Однако сейчас только я и я очень упрощенно используем Git и GitHub: никаких веток и просто использование коммитов в качестве резервной копии моих локальных файлов. Иногда я возвращаюсь и просматриваю предыдущие версии своих файлов …

5
Уведомления об авторских правах / отказ от ответственности в исходных файлах
Обычной практикой является размещение уведомлений об авторских правах, различных юридических оговорок и иногда даже полных лицензионных соглашений в каждом исходном файле проекта с открытым исходным кодом. Действительно ли это необходимо для (1) проекта с открытым исходным кодом и (2) проекта с закрытым исходным кодом? Что вы пытаетесь достичь или предотвратить, …

4
Когда использовать Parser Combinator? Когда использовать Parser Generator?
Недавно я глубоко погрузился в мир парсеров, желая создать свой собственный язык программирования. Однако я обнаружил, что существуют два несколько разных подхода к написанию парсеров: Генераторы парсеров и Комбинаторы парсеров. Интересно, что мне не удалось найти какой-либо ресурс, объясняющий, в каких случаях какой подход лучше; Скорее всего , многие ресурсы …

7
RESTFul: действия, изменяющие состояние
Я планирую создать RESTfull API, но есть некоторые архитектурные вопросы, которые создают некоторые проблемы в моей голове. Добавление логики бизнес-процессов для клиентов - это вариант, которого я бы хотел избежать, поскольку обновление нескольких клиентских платформ сложно поддерживать в режиме реального времени, когда бизнес-логика может быстро измениться. Допустим, у нас есть …
60 api  rest 

2
Написание тестов для кода, цель которого я не понимаю
Я недавно завершил рефакторинг черного ящика. Я не могу проверить это, потому что не могу понять, как это проверить. На высоком уровне у меня есть класс, инициализация которого включает в себя получение значений из некоторого класса B. Если класс B «пустой», он генерирует некоторые разумные значения по умолчанию. Я извлек …

7
Покрытие кода выделяет неиспользуемые методы - что мне делать?
Мне было поручено увеличить охват кода существующего проекта Java. Я заметил, что инструмент покрытия кода ( EclEmma ) выделил некоторые методы, которые никогда нигде не вызываются. Моя первоначальная реакция не в том, чтобы написать модульные тесты для этих методов, а в том, чтобы выделить их для моего линейного менеджера / …

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

5
Будет ли компьютер пытаться делить на ноль?
Мы все знаем, 0/0есть Undefinedи возвращает ошибку, если бы я поместил ее в калькулятор, и если бы я создал программу (по крайней мере, на C), ОС прервала бы ее, когда я попытался бы разделить на ноль. Но что меня интересует, так это то, что компьютер даже пытается делить на ноль …

3
Как архитектурное проектирование выполняется в динамичной среде?
Я прочитал Принципы Agile Architect , где они определили следующие принципы: Принцип # 1 Команды, которые кодируют систему, проектируют систему. Принцип № 2 Создайте простейшую архитектуру, которая может работать. Принцип № 3 Если есть сомнения, закодируйте его. Принцип № 4 Они строят это, они проверяют это. Принцип № 5 Чем …

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