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

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

17
Какая часть вашего проекта должна быть в контроле исходного кода?
Один из разработчиков начал работу над новым проектом Drupal, и системный администратор предложил, чтобы они только помещали подкаталог sites / default в систему управления версиями, потому что это «сделает обновления легко создаваемыми по сценарию». Оставляя в стороне это сомнительное утверждение, возникает еще один вопрос - какие файлы должны находиться под …

11
Как работает одна сеть на программных конференциях? [закрыто]
Я все еще работаю в Microsoft TechEd , и ответ на мой вопрос о том, как эффективно использовать свое время на конференциях по программному обеспечению, в подавляющем большинстве случаев был «сетью - самая полезная часть конференций по программному обеспечению». Проблема: я понятия не имею, как даже подойти к этой задаче. …

24
Почему некоторые программисты ненавидят часть разработки пользовательского интерфейса? [закрыто]
Многие программисты, которых я встречал, всегда говорят, что «он не парень с интерфейсом». Дело в том, что в настоящее время разработка, будь то веб, Windows, Linux, OSX или любой другой тип разработки, теперь включает в себя программное обеспечение с красивым пользовательским интерфейсом. Почему многим разработчикам не нравится работа интерфейса?

12
Какой язык программирования генерирует наименьшее количество труднодоступных ошибок? [закрыто]
Какой язык, по вашему мнению, позволяет среднему программисту выводить функции с наименьшим количеством труднодоступных ошибок? Это, конечно, очень широкий вопрос, и меня интересуют очень широкие и общие ответы и мудрости. Лично я нахожу, что я трачу очень мало времени на поиск странных ошибок в программах на Java и C #, …

22
Вы действительно пишете «чистый код»? [закрыто]
Я видел, как некоторые программисты перекраивали свой код снова и снова не только для того, чтобы он «работал хорошо», но и чтобы он «хорошо выглядел». IMO, «чистый код» на самом деле является комплиментом, указывающим на то, что ваш код элегантен, прекрасно понятен и удобен в обслуживании. И разница проявляется, когда …

16
Почему такая популярность у Python? [закрыто]
Кроме того, что я раздражен пробелами как синтаксис, я не ненавистник, я просто не в восторге от Python. Я ценю поэзию Perl и программирую красивые веб-сервисы на bash & korn и shebang gnuplot. Я пишу документы troffи не возражаю против REXX. Не нашел tcl более полезного несколько лет назад, но …
54 python  perl  bash 

1
Как миксины или признаки лучше, чем обычное множественное наследование?
C ++ имеет простое множественное наследование, многие языковые схемы запрещают его как опасное. Но некоторые языки, такие как Ruby и PHP, используют странный синтаксис, чтобы делать то же самое и называть это миксинами или чертами. Я много раз слышал, что миксином / признаками сложнее злоупотреблять, чем простым множественным наследованием. Что …

11
Agile Practices: проверка кода - провалить проверку или поднять проблему?
В конце двухнедельного спринта, и у задачи есть проверка кода, в обзоре мы обнаруживаем функцию, которая работает, доступна для чтения, но она довольно длинная и имеет несколько запахов кода. Простая работа рефакторинга. В противном случае задача соответствует определению выполненного. У нас есть два варианта. Сбой проверки кода, чтобы билет не …

4
Преимущества разработки с использованием Docker сводятся на нет при использовании Java по сравнению с другими языками, более близкими к двоичным файлам Unix?
У меня был друг, который сказал: Докер потрясающий. Вы можете использовать его для репликации производства и всех его причуд на вашем локальном компьютере. Затем вы можете быстро развернуть этот экземпляр через все промежуточные рабочие процессы . Теперь это было бы правдой, если бы разработчики писали Ruby, PHP или Go - …
53 java  deployment  jvm  docker 

7
Это плохая практика, чтобы не удалять избыточные файлы сразу из VCS, а вместо этого помечать их как «Для удаления» с комментариями в первую очередь?
Я хотел знать, можно ли считать, что мой подход к исходным файлам, которые необходимо удалить из системы контроля версий, считается плохой практикой. Я хочу объяснить это вам на основе этого примера: Недавно я очень разозлился, потому что мне пришлось утомительно разбирать классы Java в программе, которая была в основном мертвым …

10
Почему основные сильные статические ООП-языки препятствуют наследованию примитивов?
Почему это нормально и в основном ожидается: abstract type Shape { abstract number Area(); } concrete type Triangle : Shape { concrete number Area() { //... } } ... пока это не нормально и никто не жалуется concrete type Name : string { } concrete type Index : int { …

13
Как перестать тратить время на разработку архитектуры [закрыто]
Я недавно закончил университет и начал работать программистом. Мне не трудно решить «технические» проблемы или выполнить отладку с помощью вещей, которые, я бы сказал, имеют 1 решение. Но, кажется, есть класс проблем, у которых нет единственного очевидного решения - такие вещи, как архитектура программного обеспечения. Эти вещи сбивают меня с …

9
Стоит ли неизменность, когда нет параллелизма?
Кажется, что безопасность потоков всегда / часто упоминается как основное преимущество использования неизменяемых типов и особенно коллекций. У меня есть ситуация, когда я хотел бы убедиться, что метод не будет изменять словарь строк (которые являются неизменными в C #). Я хотел бы ограничить вещи как можно больше. Однако я не …

14
Когда типовые испытания в порядке?
Предполагая язык с некоторой присущей безопасности типов (например, не JavaScript): Учитывая метод, который принимает a SuperType, мы знаем, что в большинстве случаев, когда у нас может возникнуть искушение выполнить тестирование типа для выбора действия: public void DoSomethingTo(SuperType o) { if (o isa SubTypeA) { o.doSomethingA() } else { o.doSomethingB(); } …

5
Как языки с типами Maybe вместо NULL обрабатывают краевые условия?
Эрик Липперт высказал очень интересную мысль в своем обсуждении того, почему C # использует тип, nullа не Maybe<T>тип : Согласованность системы типов важна; можем ли мы всегда знать, что необнуляемая ссылка ни при каких обстоятельствах не считается недействительной? Как насчет конструктора объекта с ненулевым полем ссылочного типа? Как насчет финализатора …

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