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

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

9
Какие статически типизированные языки поддерживают типы пересечений для возвращаемых значений функции?
Начальная нота: Этот вопрос был закрыт после нескольких правок, потому что мне не хватало правильной терминологии, чтобы точно указать, что я искал. Затем Сэм Тобин-Хохштадт опубликовал комментарий, который позволил мне точно понять, что это было: языки программирования, которые поддерживают типы пересечений для возвращаемых значений функций. Теперь, когда вопрос был вновь …

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

4
Почему стандарт C ++ не принял шаблоны выражений?
Насколько я понимаю, шаблоны выражений как метод были обнаружены значительно раньше, чем исходный стандарт C ++ в 1998 году. Почему они не использовались для повышения производительности нескольких стандартных классов, таких как std::stringи потоки?
17 c++  history 

2
Почему в Perl 5 оператор Smart-Match считается сломанным? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Я видел множество комментариев по всему интернету. Оператор умного матча Perl не работает . …
17 perl 

5
Расширения длинных имен файлов: почему бы и нет
Я заканчиваю свое приложение для iPad, и расширение имени файла (используется в основном для того, чтобы Mail и Dropbox знали, в какой программе открывать файлы) имеет длину 12 символов. Единственное расширение имени файла, которое где-то рядом, это долго tax2010. Почему в этой теме так мало вариаций, и каких проблем я …

5
Алгоритм определения самого быстрого маршрута?
Допустим, мы едем с 1 по 5. Самый короткий маршрут будет 1-4-3-5 (всего: 60 км). Мы можем использовать алгоритм Дейкстры для этого. Теперь проблема в том, что самый короткий маршрут не всегда самый быстрый из-за пробок или других факторов. Например: Известно, что 1-2 часто бывают пробки, поэтому его следует избегать. …
17 graph  dijkstra 

4
Инъекция зависимостей и синглтон. Это две совершенно разные концепции?
Я слышал об использовании инъекции зависимостей через Singleton для моего коллеги. Я до сих пор не могу разобрать, если это два ортогональных шаблона, которые можно заменить друг на друга? Или DI способ сделать тестируемый паттерн Singleton? Пожалуйста, взгляните на следующий фрагмент кода. IMathFace obj = Singleton.Instance; SingletonConsumer singConsumer = new …

3
В конце моей веревки [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 4 года назад . Я являюсь подрядчиком крупной компании. В настоящее время в проекте участвуют три разработчика, в том числе и …
17 bad-code 

6
Утка набирает подмножество полиморфизма
От полиморфизма в Википедии В информатике полиморфизм - это особенность языка программирования, которая позволяет обрабатывать значения различных типов данных с использованием единого интерфейса. От утки печатать на Википедии В компьютерном программировании с объектно-ориентированными языками программирования утилитная типизация - это стиль динамической типизации, в котором текущий набор методов и свойств объекта …

4
В какой момент вы должны перейти на выпуск сборки?
Одна из методик, изложенных в « Непрерывной доставке» Jez Humble, заключается в том, что вы должны собрать один пакет, а затем выпустить его для каждой среды, в которой вы развертываете, так что развертывание и артефакты сами по себе несколько раз тестировались перед отправкой в ​​производство. Я полностью поддерживаю эту идею. …

5
Как вы можете достичь и поддерживать поток при парном программировании?
Поток - это концепция, представленная Михаем Чиксентмихайи; Короче говоря, это значит попасть в «зону». Вы погружены в свою задачу, сосредоточены; задача может быть сложной, но сложной одновременно. Когда люди достигают потока, их производительность возрастает. Программирование требует большой умственной сосредоточенности, потому что нам часто нужно совмещать несколько вещей в наших умах …

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

2
Абстрактное исключение супертипа
Если бросание System.Exceptionсчитается таким плохим, то почему не было Exceptionсделано abstractв первую очередь? Таким образом, было бы невозможно позвонить: throw new Exception("Error occurred."); Это привело бы к использованию производных исключений для предоставления более подробной информации об возникшей ошибке. Например, когда я хочу предоставить пользовательскую иерархию исключений для библиотеки, я обычно …

8
Как мне сделать TDD на встроенных устройствах?
Я не новичок в программировании, и я даже работал с некоторыми низкоуровневыми C и ASM на AVR, но я действительно не могу разобраться с более масштабным проектом встроенного C. Будучи перерожденным философией Ruby TDD / BDD, я не могу понять, как люди пишут и тестируют подобный код. Я не говорю, …

2
Является ли DDD-Lite языком шаблонов для внедрения зависимостей?
Я наткнулся на выступление Грега Янга 7 Причины, по которым проекты DDD терпят неудачу, когда он упоминает нечто, что он называет DDD-Lite, в 7:20. Подводя итог, он в основном говорит, что некоторые используют DDD в качестве шаблонных языков (сущностей, репозиториев, объектов значений, сервисов и т. Д.), Не делая ничего другого, …

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