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

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

5
Считается ли Pythonic иметь несколько классов, определенных в одном файле?
Работая с python впервые, я обнаружил, что в итоге я пишу несколько классов в одном файле, в отличие от других языков, таких как Java, которые используют один файл на класс. Обычно эти классы состоят из 1 абстрактного базового класса с 1-2 конкретными реализациями, использование которых незначительно отличается. Я разместил один …

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

1
Почему в PHP-фреймворках используется концепция «маршрута»?
Я спрашиваю об этом потому, что PHP-скрипт не является маршрутом? Например, если у вас есть article.php, тогда ваш маршрут просто http://mysite.com/article.php . Зачем дальше абстрагироваться от концепции маршрута, если он уже существует в виде простого файла?


12
Неправильно ли брать код, созданный вами на работе, и повторно использовать его для личных проектов?
На всех своих рабочих местах я всегда писал код, который заставлял меня думать, что «это было бы очень полезно в других ситуациях». Действительно, я намеренно пишу код, даже если это займет больше времени, что, как я знаю, поможет мне в будущем (например, пользовательские SubString()функции). Хорошим кандидатом на эти фрагменты являются …

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


5
Асинхронное программирование на функциональных языках
Я в основном программист на C / C ++, а это значит, что большая часть моего опыта связана с процедурными и объектно-ориентированными парадигмами. Однако, как известно многим программистам на C ++, C ++ с годами сместил акцент на стиль функционального esque, завершившийся, наконец, добавлением лямбд и закрытий в C ++ …

6
Каковы плюсы и минусы GPL? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . Я смотрю на лицензирование некоторых программ с открытым исходным кодом и смотрю на GPL. …
31 legal  licensing  gpl 

5
Когда использовать словарь против кортежа в Python
Конкретный пример - список имен файлов и их размеры. Я не могу решить, должен ли каждый элемент в списке иметь форму {"filename": "blabla", "size": 123}или просто ("blabla", 123). Словарь кажется мне более логичным, потому что, например, доступ к размеру file["size"]более понятен, чем file[1]... но я точно не знаю точно. Мысли?

5
Является ли переопределение конкретных методов запахом кода?
Правда ли, что переопределение конкретных методов - это запах кода? Потому что я думаю, что если вам нужно переопределить конкретные методы: public class A{ public void a(){ } } public class B extends A{ @Override public void a(){ } } это можно переписать как public interface A{ public void a(); …

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

4
Почему некоторые методы сортировки сортируются по 1, 10, 2, 3…?
Я заметил, что многие методы числовой сортировки, кажется, сортируют по 1, 10, 2, 3 ... вместо ожидаемых 1, 2, 3, 10 ... У меня возникают проблемы при разработке сценария, в котором я бы Мне нужен первый метод, и, как пользователь, я расстраиваюсь, когда вижу его на практике. Существуют ли законные …
31 sorting 

9
'<' против '! =' как условие в цикле 'for'?
Скажем, у вас есть следующий forцикл *: for (int i = 0; i &lt; 10; ++i) { // ... } который обычно можно записать так: for (int i = 0; i != 10; ++i) { // ... } Конечные результаты одинаковы, так есть ли реальные аргументы для использования одного над …
31 syntax 

4
Когда коммит не должен быть помечен версией?
Контекст: я недавно узнал о семантическом версионировании и пытаюсь определить, как лучше всего использовать его практически для моих собственных проектов. Учитывая, что semver учитывает основные изменения, незначительные изменения и исправления для управления версиями, когда фиксация не должна быть помечена обновленной версией? Мне кажется, что каждое изменение будет вписываться в одну …

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