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

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

14
Как вы относитесь к непрограммистам с идеями «Следующая большая вещь»?
В последнее время и довольно часто люди без опыта программирования приходят и говорят, что у них есть отличная идея, которая может стать следующей большой вещью, и что идея сама по себе стоит целое состояние. Затем, поскольку они знают, что я программист, они спрашивают меня, хочу ли я «кодировать» их или …

9
Можно ли написать слишком много утверждений?
Я большой поклонник написания assertпроверок в коде C ++ как способа отлавливать случаи во время разработки, которые не могут произойти, но происходят из-за логических ошибок в моей программе. Это хорошая практика в целом. Тем не менее, я заметил, что некоторые функции, которые я пишу (которые являются частью сложного класса), имеют …

12
Как часто вы используете формальный UML?
Я использовал специальный MUML (язык искусственного моделирования), чтобы довольно часто проектировать и объяснять систему. Это похоже на UML и имеет тенденцию быть довольно хорошо понятым. Однако у меня был один или два профессора, которые использовали строгий формальный UML, максимально приближенный к спецификации. Я всегда подозревал, что строгий UML на самом …
33 uml  diagrams 

20
Работаете бесплатно? [закрыто]
Я наткнулся на эту статью « Работай бесплатно», которая заставила меня задуматься Целью каждого работодателя является получение большей отдачи от работников, чем фирма платит заработной платой; в противном случае нет никакого роста, никакого продвижения и никакой выгоды для работодателя. И наоборот, цель каждого сотрудника должна состоять в том, чтобы внести …
33 experience 

30
Самая большая ошибка, которую вы когда-либо совершали [закрыто]
Как и вопрос, который я прочитал о сбое сервера, какая самая большая ошибка, которую вы когда-либо совершали на позиции, связанной с ИТ. Несколько примеров от друзей: Мне нужно было поработать на производственном сайте, поэтому я решил скопировать действующую базу данных на бета-сайт. Довольно стандартно, но когда я зашел на бета-сайт, …
33 experience 

3
Как решить круговую зависимость?
У меня есть три класса, которые циклически зависят друг от друга: TestExecuter выполняет запросы TestScenario и сохраняет файл отчета, используя класс ReportGenerator. Так: TestExecuter зависит от ReportGenerator для создания отчета ReportGenerator зависит от TestScenario и параметров, установленных из TestExecuter. TestScenario зависит от TestExecuter. Не могу понять, как удалить эти зависимости. …

6
Почему программы используют стеки вызовов, если вложенные вызовы функций могут быть встроены?
Почему бы не сделать так, чтобы компилятор взял такую ​​программу: function a(b) { return b^2 }; function c(b) { return a(b) + 5 }; и преобразовать его в программу, подобную этой: function c(b) { return b^2 + 5 }; устраняя тем самым необходимость компьютера помнить обратный адрес c (b)? Я …

3
Имеет ли исходный код для проекта Go за пределами GOPATH плохую идею
Я работаю над новым проектом с использованием Go, и мы все новички в Go. Мы следуем стандартной структуре каталогов go и располагаем всем кодом под $ GOPATH / SRC / github.com / НазваниеКомпании / имя_проекта который также является корнем git-репозитория Стандартный рекомендуемый формат пути кажется немного странным, особенно если мы …
33 go 

3
Должны ли мы вызывать Web API из приложения MVC в том же решении?
Я работаю над проектом в MVC, в котором есть мобильное приложение, поэтому ясно одно, что мы должны использовать веб-API, чтобы его можно было использовать в мобильном приложении. После создания API, когда мы начали разрабатывать веб-сайт, мы растерялись и обсуждали, использовать ли API или иметь прямой доступ к объекту Business. И …

4
Почему нет поддержки типа WSDL для Web Api?
Поэтому я только начинаю работу с .Net WebApi, и сразу замечаю, что не существует Контракта, определяющего, как API выглядит и должен потребляться (Запрос / Ответ от каждого Действия), обычно это происходит в форме WSDL для WCF / Мыло. Мне кажется, что это что-то очень ценное и облегчит жизнь пользователям вашего …

6
Прогрессивное улучшение по сравнению с одностраничными приложениями
Я только что вернулся с конференции в Бостоне под названием An Event Apart . По-настоящему популярной темой среди докладчиков была идея постепенного улучшения : контент сайта должен идти в HTML, а JavaScript должен использоваться только для улучшения поведения. Аргументы, которые докладчики приводили для прогрессивного улучшения, были очень убедительными. Это не …

6
Являются ли затворы нечистым функциональным стилем?
Являются ли замыкания нечистыми в функциональном программировании? Кажется, что можно вообще избежать замыканий, передавая значения непосредственно в функцию. Поэтому следует ли по возможности избегать закрытия? Если они нечисты, и я правильно заявляю, что их можно избежать, почему так много функциональных языков программирования поддерживают замыкания? Один из критериев для чистой функции …

5
Стоит ли жестко кодировать свои данные во всех модульных тестах?
Большинство учебных пособий / примеров модульного тестирования обычно включают определение данных для тестирования для каждого отдельного теста. Я полагаю, что это является частью теории «все должно быть проверено изолированно». Однако я обнаружил, что при работе с многоуровневыми приложениями с большим количеством DI код, требуемый для настройки каждого теста, очень затягивается. …

7
Как я могу предотвратить неизвестное дублирование кода?
Я работаю на довольно большой кодовой базе. Сотни классов, тонны различных файлов, множество функциональных возможностей, более 15 минут требуется для создания новой копии и т. Д. Большая проблема с такой большой кодовой базой состоит в том, что у нее есть довольно много вспомогательных методов и таких, которые делают то же …

4
Что значит сказать, что алгоритм является звуковым и полным?
Я слышал разные интерпретации звука и полной . Я понимаю, что полнота означает поиск решения, если оно есть. Что значит сказать, что алгоритм - это звук ? Что значит сказать, что алгоритм является звуковым и полным?

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