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

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

8
Влияют ли имена переменных на производительность веб-сайтов?
Влияют ли имена переменных на производительность сайта? Я знаю, что это будет очень малое число, но все же может ли кто-нибудь указать причины, по которым не следует выбирать длинное имя переменной в аспекте производительности?

2
Хорошее руководство по выбору шкалы баллов для использования с Agile / SCRUM?
Мы используем Pivotal Tracker для нашего проекта, который позволяет нам выбирать из трех шкал: 0,1,2,3 0,2,4,8 0,1,3,5,8 И я ищу ресурс, который поможет нам принять решение. (После использования 0,1,2,3 для двух итераций мы можем видеть, где один из других будет гораздо более полезным или значимым.)
10 agile  scrum 

6
Является ли отсутствие функциональных требований гибким?
В наше время каждый хочет быть проворным. В каждой команде, с которой я работал, форма agile была разной. Некоторые вещи являются общими - например, ежедневные занятия или планирование, но другие части значительно различаются. В моей нынешней команде есть одна деталь, которая меня беспокоит. Это отсутствие функциональных требований. Не только в …

5
Если еще одна лестница, которая должна охватывать все условия, следует ли добавить избыточный последний пункт?
Это то, чем я занимаюсь в последнее время. Пример: setCircle(circle, i, { current }) { if (i == current) { circle.src = 'images/25CE.svg' circle.alt = 'Now picking' } else if (i < current) { circle.src = 'images/25C9.svg' circle.alt = 'Pick failed' } else if (i > current) { circle.src = …

5
Можем ли мы полностью заменить наследование, используя шаблон стратегии и внедрение зависимостей?
Например: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Поскольку класс Duck содержит все типы поведения (абстрактные), создание нового класса MallardDuck(который расширяется Duck), по-видимому, не требуется. Ссылка: Head First Design Pattern, глава 1.

5
Когда у вас достаточно автоматических тестов, чтобы быть уверенным в своем конвейере непрерывной интеграции?
Непрерывная интеграция с тестированием полезна для того, чтобы убедиться, что у вас постоянно проверяется «отправляемый» код. Тем не менее, действительно сложно поддерживать полный набор тестов, и часто создается впечатление, что сборка все равно будет глючить. Сколько тестов вы должны чувствовать, чтобы чувствовать себя уверенно при тестировании конвейера CI? Используете ли …

4
Решение о дате выпуска до сбора всех требований является гибким?
Я только начал читать книгу «Применение UML и паттернов» Крейга Лармана. Я нахожу это очень интересным, потому что это бросает вызов многим из того, что мне сказали на работе. Я читал, что требования не полностью собраны за один раз в agile, и для сбора требований требуется много итераций. Если это …

4
это способ называть функцию плохой практикой?
У меня есть следующий код: public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } Я думаю, что таким образом я снимаю ответственность за знание …

6
Какое лучшее определение для Dependency Injection?
Каждый раз, когда кто-то приходит ко мне и просит меня концептуально определить Dependency Injection и объяснить реальные плюсы и минусы использования DI в разработке программного обеспечения. Признаюсь, у меня есть некоторые трудности с объяснением понятий DI. Каждый раз, когда мне нужно рассказать им историю о едином принципе ответственности, составе по …

5
Действительно ли мне нужны триггеры для реляционной базы данных, например, PostgreSQL?
Я знаю, что триггеры можно использовать для проверки хранимых данных, чтобы поддерживать согласованность базы данных. Однако, почему бы не выполнить проверку данных на стороне приложения перед сохранением их в базе данных? Например, мы храним клиентов и хотим выполнить некоторую проверку, которую нелегко выполнить на уровне DDL. https://severalnines.com/blog/postgresql-triggers-and-stored-function-basics Другой пример - …

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

2
Как безопасность потоков может быть обеспечена языком программирования, аналогичным тому, как в Java и C # обеспечивается безопасность памяти?
Java и C # обеспечивают безопасность памяти, проверяя границы массивов и разыменования указателей. Какие механизмы можно было бы внедрить в язык программирования, чтобы предотвратить возможность состояния гонки и тупиков?

1
Нужно ли микросервисам за шлюзом API проверять токен доступа?
У меня есть куча микросервисов, которые доступны только снаружи через API-шлюз. Мой API-шлюз настроен как ресурс OAuth и проверяет токен (проверяет подпись и т. Д.) Перед передачей запроса на одно или несколько микросервисов. Хотя моим микросервисам нужен токен для проверки областей и утверждений, есть ли необходимость в том, чтобы этот …

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

2
Почему гибкость Форта делает грамматику неуместной для нее?
Недавно я взял на себя задачу написания стекового языка программирования. Однако прежде чем приступить к разработке своего языка, я подумал, что было бы неплохо прочитать и поэкспериментировать с существующими языками, основанными на стеке. Это подводит меня к теме этого поста. Я читал статью в Википедии о Forth , основанном на …

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