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

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

4
Так что же на самом деле имел в виду Алан Кей под термином «объектно-ориентированный»?
Как сообщается, Алан Кей является изобретателем термина «объектно-ориентированный». И его часто цитируют так, как будто он сказал, что то, что мы сегодня называем ОО, не имеет в виду. Например, я только что нашел это в Google: Я придумал термин «объектно-ориентированный» и могу сказать, что я не имел в виду C …


18
Инъекция зависимости: как ее продать [закрыто]
Пусть будет известно, что я большой поклонник внедрения зависимостей (DI) и автоматизированного тестирования. Я мог бы говорить об этом весь день. Фон Недавно наша команда только что получила этот большой проект, который должен быть построен с нуля. Это стратегическое приложение со сложными бизнес-требованиями. Конечно, я хотел, чтобы он был красивым …

16
TDD негативный опыт [закрыт]
Какова отрицательная сторона вашего опыта TDD? Считаете ли вы, что детские шаги (самое простое решение, чтобы сделать тест зеленым) раздражают и бесполезны? Считаете ли вы, что тесты без значения (когда тест изначально имеет смысл, но в финальной реализации проверяет ту же логику, что и другие тесты), критически важны для обслуживания? …
95 tdd 

9
Можно ли использовать списки в реляционной базе данных?
Я пытался спроектировать базу данных в соответствии с концепцией проекта и столкнулся с чем-то горячо обсуждаемым. Я прочитал несколько статей и ответы на некоторые вопросы о переполнении стека, в которых говорится, что хранить (или почти никогда) в поле зрения список идентификаторов и т. П. - все данные должны быть реляционными …

1
Есть ли фундаментальная разница между обратными вызовами и обещаниями?
При выполнении однопоточного асинхронного программирования я знаком с двумя основными приемами. Наиболее распространенным является использование обратных вызовов. Это означает передачу функции, которая асинхронно действует как функция обратного вызова в качестве параметра. Когда асинхронная операция завершится, будет вызван обратный вызов. Некоторый типичный jQueryкод, разработанный таким образом: $.get('userDetails', {'name': 'joe'}, function(data) { …

10
Кто-нибудь может бросить вызов дяде Бобу за его любовь к удалению «бесполезных скобок»?
Я ненавижу ссылаться на контент Paywalled, но это видео показывает именно то, о чем я говорю. Точно 12 минут Роберта Мартина выглядит так: И говорит: «Одна из моих любимых вещей - избавиться от бесполезных скобок», когда он превращает это в это: Давным-давно, в далеком образовании меня учили не делать этого, …

12
Следует ли использовать историю коммитов для передачи важной информации разработчикам?
Во время встречи, посвященной откату стороннего SDK из последней версии, было отмечено, что наши разработчики уже отметили в истории фиксации, что последняя версия не должна использоваться. Некоторые разработчики утверждали, что это плохая практика, и вместо этого ее следует отметить либо в исходном файле (то есть // Don't upgrade SDK Version …

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


16
Почему определяемые пользователем операторы не являются более распространенными?
В функциональных языках мне не хватает функции, заключающейся в том, что операторы - это просто функции, поэтому добавить пользовательский оператор часто так же просто, как добавить функцию. Многие процедурные языки допускают перегрузки операторов, поэтому в некотором смысле операторы все еще являются функциями (это очень верно в D, где оператор передается …

14
Изучайте программирование задом наперед или «так что я провалил тест FizzBuzz. И что теперь? »[Закрыто]
Немного фона Мне сегодня 28 лет, и у меня никогда не было формального обучения по разработке программного обеспечения, но у меня есть две степени высшего образования, эквивалентные степени бакалавра по связям с общественностью и Executive MBA, ориентированных на управление проектами. Я работал на этих полях в общей сложности около 6 …
94 skills 

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

27
Почему люди используют книги по программированию? [закрыто]
Я обнаружил, что когда кто-то спрашивает, как лучше всего научиться программировать, люди обычно предоставляют им ссылки на кучу текстов, написанных разными авторами. Однако я не верю, что многие вообще учатся программировать по книгам. Я считаю, что они обычно сталкиваются с проблемой, а затем используют программирование в качестве инструмента для ее …

10
Что является противоположностью инициализации (или инициализации)? [закрыто]
Термин будет использоваться в качестве имени метода. Этот метод вызывается, когда часть пользовательского интерфейса скрыта (или удалена), и используется для сброса значений по умолчанию и удаления объектов, которые больше не будут использоваться. Возможные имена: освобождение, удаление, удаление, очистка и т. Д. Какой из них вы считаете наиболее подходящим?

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