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

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

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

5
Как преобразовать ОО-программу в функциональную?
У меня возникают трудности с поиском ресурсов для написания программ в функциональном стиле. Самая сложная тема, которую я мог найти в Интернете, - это использование структурной типизации для сокращения иерархии классов; большинство просто имеют дело с тем, как использовать карту / сложение / уменьшение / и т.д. для замены императивных …

4
Как избежать «менеджеров» в моем коде
Этот вопрос перенесен из Exchange Stack Exchange, так как на него можно ответить в Software Stack Exchange. Мигрировал 6 лет назад . В настоящее время я перепроектирую свою Entity System для C ++, и у меня много менеджеров. В моем дизайне у меня есть эти классы, чтобы связать мою библиотеку. …

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

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

8
Как мне протестировать сайт веб-форм?
Как мне протестировать сайт веб-форм? Мне кажется, что, поскольку многое зависит от состояния и пользовательского ввода, это было бы невозможно. Если это невозможно, существует ли действительная автоматизированная альтернатива?

5
Почему сообщество Lisp предпочитает накапливать все скобки в конце функции?
Почему сообщество Lisp предпочитает накапливать все скобки в конце функции: (defn defer-expensive [cheap expensive] (if-let [good-enough (force cheap)] good-enough (force expensive))) Почему бы не использовать соглашение, такое как C или Java? Ладно, Лисп намного старше этих языков, но я говорю о современных Лисперах. (defn defer-expensive [cheap expensive] (if-let [good-enough (force …

6
Имеет ли появление SSD какое-либо значение для оптимизации базы данных?
Сегодня я просматривал книгу по оптимизации SQL Server, и мне показалось, что определенное количество идей основано на линейной модели хранилища. Поскольку у твердотельных накопителей совершенно другая модель хранения, они каким-либо образом меняют игру в отношении того, как кто-то думает о настройке или оптимизации базы данных?

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

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

11
Что делать, если оценка времени идет не так?
Допустим, вы оценили время рассмотрения дела в 3 дня. На второй день вы заметите, что ситуация растет, и появляются новые сценарии, которые не учитывались при оценке времени. Новое открытие приводит к дополнительным 2 дням (всего 5 дней). Это типичная проблема, с которой вы рано или поздно столкнетесь как разработчик. Какую …

3
Какая разница между использованием структуры и std :: pair?
Я программист C ++ с ограниченным опытом. Предположим, что я хочу использовать STL mapдля хранения и манипулирования некоторыми данными, я хотел бы знать, есть ли существенное различие (также в производительности) между этими двумя подходами структуры данных: Choice 1: map<int, pair<string, bool> > Choice 2: struct Ente { string name; bool …

2
Как работает Python Runtime?
У меня есть некоторые проблемы с пониманием концепции runtime library, особенно Python. Итак, я написал какую-то привет программу на Python и собираюсь ее выполнить, поэтому я пишу python ./hello_world.py. Какие шаги происходят между нажатием кнопки Enter и машинным кодом, сгенерированным из моего кода Python, выполняемого на моем процессоре? И как …
26 python  runtime 

3
Получить информацию о лицензии для всех используемых пакетов NuGet
Чтобы сохранить наш дом в порядке, я хочу автоматически собирать лицензии для зависимостей проекта в нашей документации, а не добавлять их вручную. Кто-нибудь знает простой способ программно пройти через набор файлов CSPROJ и извлечь информацию о лицензии для упомянутых пакетов в виде ссылки или строки?

8
Модульное тестирование нескольких условий в выражении IF
У меня есть кусок кода, который выглядит примерно так: function bool PassesBusinessRules() { bool meetsBusinessRules = false; if (PassesBusinessRule1 && PassesBusinessRule2 && PassesBusinessRule3) { meetsBusinessRules= true; } return meetsBusinessRules; } Я считаю, что должно быть четыре модульных теста для этой конкретной функции. Три, чтобы проверить каждое из условий в операторе …

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