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

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

4
Если вы улучшите качество кода во время работы над функциональной ветвью
Мне действительно нравится эта статья о том, чтобы оставить сайт с кодом / лагере в более хорошем состоянии, чем вы его нашли - в реальном мире кажется практичным подходом поддерживать чистоту кода. Мне также очень нравятся ветки функций как способ разработки функций в отдельности, так что, если вам это не …

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

2
Временная сложность 2 ^ sqrt (n)
Я решаю вопрос об алгоритме, и мой анализ состоит в том, что он будет работать на O (2 ^ sqrt (n)). Насколько большой это? Это соответствует O (2 ^ n)? Это все еще неполиномиальное время?

2
Это неправильно, чтобы гит толкает ветви?
Когда я работаю над функциональной веткой, я стремлюсь очистить коммиты в ветке с помощью интерактивной перебазировки, прежде чем моя работа будет рассмотрена и интегрирована в основную ветку. Во время разработки этой функции я хочу перенести свою промежуточную работу в удаленный репозиторий в качестве меры резервного копирования. Т.е., когда мой жесткий …
11 git 

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

3
Почему язык должен предпочитать отступ перед явными маркерами для блоков?
Я изучаю Haskell, и я искал инструмент для автоматического отступа. Я не особо выглядел и узнал, что в Haskell (как в Python) отступы означают блок. В результате я предполагаю, что невозможно создать инструмент автоматического форматирования, такой же сильный, как в других языках семейства C, в котором используются явные маркеры, такие …

1
Какая практическая проблема возникает из-за отсутствия гигиенических макросов в Clojure?
Я слышал, что макросы Clojure легче писать, но они не так надежны, как гигиенические макросы Racket. Мой вопрос состоит из 2 частей: Чем gensymотличаются гигиенические макросы? Что предоставляют макросы Racket, чего нет у Clojure? (будь то безопасность, композитность или что-нибудь)

1
Enum с большим количеством логических свойств
В настоящее время я работаю над веб-приложением, в котором нам часто нужно настроить логику сервера на основе страницы, которая будет возвращена пользователю. Каждой странице присваивается четырехбуквенный код страницы, и эти коды страниц в настоящее время перечислены в классе как статические строки: public class PageCodes { public static final String FOFP …
11 java  design  enum 

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

1
Алгоритм генерации ребер и вершин наружу от начала координат с максимальной кратностью 3
Я создаю 2D игру для веб-сайта, где вселенная может стать очень большой (в основном бесконечно большой). Первоначально, Вселенная состоит из 6 звезд, которые находятся на одинаковом расстоянии от начала координат (0, 0). Моя задача - создать больше звезд, у которых будут «контуры» (ребра), которые соединяются друг с другом. Как я …

1
Миграция устаревших требований в BDD
Вопрос: Каков наилучший способ перевести крупную компанию в Cucumber, если в базе данных требований хранятся не менее 15 лет устаревших требований к программному обеспечению? В настоящее время рассматриваются: 1) все переносить Недостаток: у нас нет неограниченного времени / бюджета, нам нужно двигаться вперед, чтобы выжить, мы не можем все остановить …
11 bdd  cucumber 

3
в DDD должны ли репозитории предоставлять объект или объект домена?
Насколько я понимаю, в DDD целесообразно использовать шаблон репозитория с совокупным корнем. У меня вопрос, должен ли я возвращать данные как объект или объект домена / DTO? Может быть, какой-то код объяснит мой вопрос дальше: сущность public class Customer { public Guid Id { get; set; } public string FirstName …

5
Лучшая стратегия для сообщения о прогрессе в UI - как должен происходить обратный вызов?
Иногда пользователь запускает расширенную техническую операцию, выполнение которой занимает некоторое время. В этих случаях обычно удобно отображать какой-то индикатор выполнения вместе с информацией о том, какая задача выполняется в данный момент. Чтобы избежать тесной связи между пользовательским интерфейсом и уровнями логики, обычно лучше, чтобы связь происходила через какой-то тип прокси. …

3
Как вы используете утку, набрав в javascript, не всегда проверяя свойства и методы?
Я знаю, что javascript использует типизацию утиной утилитой, и сначала я подумал, что это облегчит полиморфизм по сравнению со строго типизированными языками, такими как C #. Но теперь мои функции, которые принимают аргументы, изобилуют такими вещами, как: if(myObj.hasSomeProperty()) или же if(myObj.hasSomeMethod()) или же if(isNumber(myParam)) и т.п. Это действительно безобразно для …

4
Ruby: если переменная vs, если variable.nil?
Я новичок в Ruby, и я был удивлен, когда узнал, что все объекты истинны, кроме nil и false. Даже 0 это правда. Хорошая особенность этого свойства языка в том, что вы можете написать: if !variable # do stuff when variable is nil end Мои коллеги, которые являются более опытными разработчиками …

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