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

398
Насколько точна «бизнес-логика должна быть в сервисе, а не в модели»?

ситуация Ранее этим вечером я дал ответ на вопрос о StackOverflow. Вопрос: Редактирование существующего объекта должно быть сделано на уровне хранилища или в сервисе? Например, если у меня есть Пользователь, у которого есть задолженность. Я хочу изменить свой долг. Должен ли я сделать это в...

397
Можно ли иметь несколько утверждений в одном модульном тесте?

В комментарии к этому замечательному сообщению Рой Ошеров упомянул проект OAPT , предназначенный для запуска каждого утверждения в одном тесте. На домашней странице проекта написано следующее: Правильные юнит-тесты должны проваливаться ровно по одной причине, поэтому вы должны использовать одно...

393
Почему Java не используется для разработки современных веб-приложений? [закрыто]

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

387
Я не программирую в свободное время. Это делает меня плохим разработчиком?

Кажется, что многие блоги и советы в Интернете говорят о том, что для того, чтобы стать великим разработчиком, недостаточно просто выполнять свою повседневную работу. Например, вы должны участвовать в проектах с открытым исходным кодом в свободное время, писать приложения для смартфонов и т. Д. На...

368
Я занимаюсь 90% обслуживания и 10% разработки, это нормально? [закрыто]

Я только недавно начал свою карьеру в качестве веб-разработчика для компании среднего размера. Как только я начал, у меня появилась задача расширить существующее приложение (плохо закодированное, разработанное несколькими программистами на протяжении многих лет, по-разному решая одни и те же...

339
Что такое отрицательный код?

Я читал статью в Википедии о Дугласе Макилрое и нашел цитату, в которой упоминается «Настоящий герой программирования - тот, кто пишет отрицательный код». Что это...

336
Как бы вы узнали, если вы написали читаемый и легко обслуживаемый код?

Как узнать, что созданный код легко читается, понятен и поддерживается? Конечно, с точки зрения автора, код удобен для чтения и сопровождения, потому что автор написал и отредактировал его, для начала. Однако должен существовать объективный и поддающийся количественному измерению стандарт, по...

335
Как мне вести себя как разработчик в проекте, который ведет к провалу?

Я являюсь разработчиком в команде из 5 человек и считаю, что наш проект движется к катастрофе. Я сейчас опишу почему, но мой вопрос: как мне себя вести? Крайний срок - 1,5 месяца, и я чувствую, что независимо от того, что мы делаем, этот проект провалится. Я придерживаюсь мнения, что мы должны...

330
Является ли 4-5 лет «кризисом среднего возраста» для карьеры программиста?

Я профессионально программирую на C # уже более 4 лет. Последние 4 года я работал в нескольких небольших / средних компаниях, начиная от «веб-рекламных агентств», небольших специализированных программных магазинов и заканчивая небольшим стартапом. В основном я занимался «бизнес-приложениями», в...

328
Почему Глобальное Государство так Зло?

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

324
Почему бизнес-аналитики и руководители проектов получают более высокие зарплаты, чем программисты? [закрыто]

Мы должны признать, что программирование намного сложнее, чем создание документации или даже создание диаграммы Ганта и просить программистов о прогрессе. Так что для нас, наивных, зная, что программирование, как правило, сложнее, почему бизнес-аналитики и руководители проектов получают более...

322
Стоит ли писать свой бэкэнд как API?

Сегодня у меня была горячая дискуссия о нашем приложении MVC. У нас есть веб-сайт, написанный на MVC ( ASP.NET ), и он обычно следует шаблону «сделать что-то» в представлении -> нажать на контроллер -> контроллер строит модель (вызывает менеджера, который получает данные, строит модель в Сам...

318
Что означает «этап» в git?

Мне трудно понять мерзавца, так как я не мог найти значение слов, используемых для действий. Я проверил в словаре значение «stage», и ни одно из значений не было связано с концепциями управления исходным кодом. Что означает «этап» в контексте...

314
Должен ли я хранить свои раздвоенные репозитории на GitHub?

Поэтому я разбудил чей-то репозиторий, сделал несколько изменений, отправил запрос на извлечение, и мои изменения внесли его в продукт. Большой! Но ... что мне делать с моим раздвоенным хранилищем? Есть ли у меня веские основания держать свой репозиторий рядом или я должен удалить его? Я не...

306
Какие языки программирования использовались космической программой Советского Союза?

Я заинтересовался советской космической программой и с интересом обнаружил, что программное обеспечение на космическом корабле "Буран" примерно в 1988 году было написано на Прологе. Кто-нибудь знает, какие языки могли использоваться в более ранних миссиях, особенно в миссиях на марсоходе PrOP-M в...

305
Почему ярлыки типа x + = y считаются хорошей практикой?

Я понятия не имею, как они на самом деле называются, но я вижу их все время. Реализация Python выглядит примерно так: x += 5в качестве сокращенной записи для x = x + 5. Но почему это считается хорошей практикой? Я сталкивался с этим почти в каждой книге или учебнике по программированию, которые...

303
Должен ли я вернуться из функции раньше или использовать оператор if? [закрыто]

Я часто писал такого рода функции в обоих форматах, и мне было интересно, если один формат предпочтительнее другого и почему. public void SomeFunction(bool someCondition) { if (someCondition) { // Do Something } } или же public void SomeFunction(bool someCondition) { if (!someCondition) return; //...

301
Как я могу узнать, хороший ли я программист?

Как и большинство людей, я считаю себя немного выше среднего в своей области. Мне хорошо платят, я получил продвижение по службе, и у меня никогда не было реальных проблем с получением хороших рекомендаций или с работой. Но я был достаточно вокруг, чтобы заметить, что многие из худших...

300
Я фанат Subversion, почему я должен рассмотреть или не рассмотреть Mercurial или Git или любой другой DVCS?

Я пытаюсь понять преимущества распределенной системы контроля версий (DVCS). Я нашел Subversion переобучения и эту статью на Мартина Фаулера очень полезным. Mercurial и другие DVCS продвигают новый способ работы с кодом с помощью наборов изменений и локальных коммитов. Это предотвращает от слияния...