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

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

3
Являются ли «плюс» и «минус» подходящими именами методов?
Java SE 8 поставляется с новым механизмом дат, введения LocalDate, LocalTimeи LocalDateTimeклассов для представления моментов времени. Для того, чтобы управлять такими мгновениями, набор методов Дано: LocalDate.plusDays(...), LocalDate.minusDays(...)и так далее. Я всегда думал, что хорошей практикой было называть методы после глаголов, описывающих их назначение, так как на самом деле методы - …

4
Как избежать дублирования логики между классами домена и SQL-запросами?
Пример ниже является полностью искусственным, и его единственная цель состоит в том, чтобы донести мою точку зрения. Предположим, у меня есть таблица SQL: CREATE TABLE rectangles ( width int, height int ); Класс домена: public class Rectangle { private int width; private int height; /* My business logic */ public …

5
Алгоритм расчета пути пули к цели с макс. 2 рикошета
Извините за плохое название, но у меня не было лучшего способа выразить это ... Так что есть удивительная игра от Nintendo (да!) На Wii под названием WiiPlay . В ней 9 мини-игр, а моя любимая называется Tanks! , Это уничтожение вражеских танков СОМ без уничтожения себя. Вот скриншот уровня: Один …

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

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

8
В чем преимущество функции без параметров, которая вызывает только другую функцию
Учебное пособие (для Javascript), которое я делаю, предлагает написать такую ​​функцию: function sayHello() { //Some comments explaining the next line window.alert("Hello"); } Помимо обфускации, есть ли польза от написания чего-то подобного в реальной жизни? Если да, каковы преимущества?

2
Почему C использует звездочку для указателей? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Я только сейчас узнаю о C. Я нахожу странным, что создатели выбрали звездочку ( …
21 c  history  syntax 

5
Должна ли пользовательская история делиться между разработчиками? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я обычно вижу истории, которые имеют внутреннее и внешнее развитие. Например, рассмотрим большой диалог …
21 agile  scrum 

4
А как насчет LISP, если что-нибудь облегчает внедрение макросистем?
Я изучаю Scheme из SICP, и у меня складывается впечатление, что большая часть того, что делает Scheme и, тем более, LISP особенным, - это макросистема. Но, поскольку макросы расширяются во время компиляции, почему люди не делают эквивалентные системы макросов для C / Python / Java / что угодно? Например, можно …

3
Как разрешить инновации в Agile методологии [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 5 лет назад . Одно дело сказать, что гибкие методологии хороши в условиях, когда требования плохо …
21 agile 

8
Делают ли шаблоны дизайна подавление творчества
Много лет назад я разговаривал с профессором экономики о шаблонах проектирования, о том, как они устанавливают общий язык для программистов и как они хорошо решают известные проблемы и т. Д. И т. Д. Затем он сказал мне, что это совершенно противоположный подход, который он использовал бы для своих студентов-экономистов. Обычно …

7
Является ли сохранение операторов SQL в таблице для выполнения позже плохой идеей?
Является ли сохранение операторов SQL в таблице MySQL для последующего выполнения плохой идеей? Операторы SQL будут готовы к выполнению, то есть не будет, например, параметров для обмена или чего-либо еще DELETE FROM users WHERE id=1. Я полагаю, что я ленив, но я подумал об этой идее, потому что я работаю …
21 mysql 

5
Как вы можете разложить конструктор?
Допустим, у меня есть класс Enemy, и конструктор будет выглядеть примерно так: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Это выглядит плохо, потому что конструктор имеет так много параметров, но когда я создаю экземпляр Enemy, мне нужно указать все …

2
Проверка типов и рекурсивные типы (Написание Y-комбинатора в Haskell / Ocaml)
При объяснении Y-комбинатора в контексте Haskell обычно отмечается, что прямая реализация не будет проверять тип в Haskell из-за его рекурсивного типа. Например, из Rosettacode : The obvious definition of the Y combinator in Haskell canot be used because it contains an infinite recursive type (a = a -> b). Defining …

7
Как Scrum Master участвует в ежедневных дежурствах?
У нас есть профессиональный консультант Scrum Master [*], который недавно присоединился к нашему проекту. К сожалению, мы не знаем, как ее зовут (она никогда не представилась нам, она просто пришла однажды и сказала: «у нас ежедневные тренировки»), и она, похоже, не делает ничего другого, кроме как председательствовать в ежедневная встреча …

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