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

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

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

5
Функциональное программирование против ООП [закрыто]
В последнее время я много слышал об использовании функциональных языков, таких как Haskell. Каковы некоторые из больших отличий, плюсов и минусов функционального программирования от объектно-ориентированного программирования?

16
Как позиционировать себя как разработчика программного обеспечения? [закрыто]
Я заметил, что это частая проблема среди молодых людей из технических областей, таких как наша. В начале нашей карьеры мы просто не знаем, как продать себя нашим работодателям, и случайный парень № 57 (который является программистом, но не так хорош, как вы - технически) в итоге получает повышение или повышение …

17
Почему провал модульных тестов считается плохим?
Очевидно, что в некоторых организациях частью процесса выпуска программного обеспечения является использование модульного тестирования, но в любой момент времени все модульные тесты должны пройти. Например, может быть какой-то экран, который показывает все модульные тесты, проходящие зеленым цветом - что должно быть хорошо. Лично я думаю, что это не так, как …

30
Люди в неанглоязычных странах пишут код по-английски? [закрыто]
Я слышал, что (коллеги) сказали, что каждый «кодирует по-английски» независимо от того, откуда он. В это трудно поверить, однако я не удивлюсь, если для большинства языков программирования поддерживаемый набор символов будет относительно узким. Вы когда-нибудь работали в стране, где английский не является основным языком? Если да, то как выглядел их …

5
Почему в Java вообще нет оптимизации для хвостовой рекурсии?
Из того, что я прочитал: причина в том, что нелегко определить, какой метод на самом деле будет вызываться, поскольку у нас есть наследование. Однако почему в Java, по крайней мере, нет оптимизации хвостовой рекурсии для статических методов и не реализован надлежащий способ вызова статических методов с помощью компилятора? Почему Java …

17
Является ли хорошей идеей спроектировать архитектуру, полагая, что классы пользовательского интерфейса могут быть заменены интерфейсом командной строки?
На странице 25 Code Complete говорится, что неплохо иметь возможность легко заменить обычные классы пользовательского интерфейса на один из командной строки. Зная его преимущества для тестирования, как насчет проблем, которые он может принести? Окажется ли эта дополнительная работа действительно для веб-и мобильных проектов? А как насчет малых и средних проектов; …

10
Как мотивировать сотрудников писать юнит-тесты? [закрыто]
Мы работаем над крупным продуктом, который выпускается около 5 лет. Кодовая база ... эээ ... работает. Не очень хорошо, но это работает. Новые функции добавляются в производство и тестируются с небольшим контролем качества. Исправлены ошибки и т. Д. Но никто, кроме меня, не пишет юнит-тесты. Никто не использует возможности «отслеживания» …

18
Как объяснить непрофессионалу, почему разработчик не должен быть прерван во время написания кода? [закрыто]
Если вы просто рассмотрите вторую часть моего вопроса: «Почему разработчик не должен быть прерван во время написания кода», этот вопрос неоднократно обсуждался умными людьми. Хек, даже соучредитель SO Джоэл Спольски, написал в своем блоге сообщение о том, как «попасть в зону» и «быть выбитым из зоны», и почему для участия …

12
Почему C не считается «объектно-ориентированным» языком?
Кажется, что у С есть свои квазиобъекты, такие как «структуры», которые можно рассматривать как объекты (на высоком уровне, который мы обычно думаем). Кроме того, сами файлы C в основном являются отдельными "модулями", верно? Тогда разве модули тоже не похожи на «объекты»? Меня смущает, почему C, который кажется очень похожим на …

19
Почему работает TDD? [закрыто]
Разработка через тестирование (TDD) сегодня очень важна. Я часто вижу его рекомендованным в качестве решения для широкого круга проблем здесь, в Programmers SE и других местах. Интересно, почему это работает. С инженерной точки зрения это озадачивает меня по двум причинам: Подход "написать тест + рефакторинг до прохождения" выглядит невероятно антиинженерным. …
92 testing  tdd 

22
Почему ООП сложно? [закрыто]
Когда я начал использовать объектно-ориентированный язык (Java), я просто стал «крутым» и начал писать код. Я никогда не задумывался об этом до недавнего времени, прочитав много вопросов об ООП. Общее впечатление, которое я получаю, это то, что люди борются с этим. Поскольку я не думал об этом как о сложном, …

3
Есть ли термин для неосуществленного кода, который был написан для кого-то еще, чтобы заполнить?
Иногда в упражнении по программированию, генерации шаблонов, наведении руководящих указаний на задачи, которые должен выполнять младший программист, и т. Д., Случается, что программисту представляется невыполненный код и ему говорят «заполнить пробел». Например, модульный тест, который может быть скомпилирован, но не выполнен, или объявление класса с пустыми методами. Есть ли общий …

14
Как я могу избежать ощущения, будто полностью перестроив свою программу с нуля, я бы сделал это намного лучше? [закрыто]
Я изучил значительный объем программирования, однако он всегда находился в научной среде (не в области компьютерных наук), полностью самоучка, и никто не мог направить меня в правильном направлении. Таким образом, мое путешествие по кодированию было ... грязным. Теперь я заметил, что всякий раз, когда я создаю какую-то программу, к концу …

15
Должны ли мы разрабатывать наш код с самого начала, чтобы включить модульное тестирование?
В настоящее время в нашей команде ведутся дебаты о том, является ли изменение дизайна кода, позволяющее модульное тестирование, запахом кода, или в какой степени это может быть сделано без запаха кода. Это произошло потому, что мы только начинаем внедрять практики, которые присутствуют практически во всех других компаниях, занимающихся разработкой программного …

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