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

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

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

4
Разница между инъекцией зависимостей (DI) и инверсией контроля (IOC)
Я видел много упоминаний о внедрении зависимостей (DI) и инверсии контроля (IOC), но я действительно не знаю, есть ли разница между ними или нет. Я хотел бы начать использовать один или оба из них, но я немного смущен тем, как они отличаются.

15
LISP все еще полезен в современном мире? Какая версия чаще всего используется?
Я стараюсь учить себя новому языку программирования через равные промежутки времени. Недавно я прочитал, что Lisp и его диалекты находятся на совершенно противоположном конце спектра от языков, подобных C / C ++, что сделало меня достаточно любопытным, чтобы узнать больше об этом. Однако мне неясны две вещи, и я ищу …

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

8
Что делать, если код, представленный для проверки кода, кажется слишком сложным?
Код трудно следовать, но он (в основном) работает хорошо, по крайней мере, при поверхностном тестировании. Здесь и там могут быть небольшие ошибки, но по коду кода очень трудно определить, являются ли они симптомами более глубоких проблем или простых исправлений. Проверка общей правильности вручную с помощью проверки кода, однако, очень трудна …
115 code-reviews 

5
Как Swift может быть намного быстрее, чем Objective-C в этих сравнениях?
Apple представила свой новый язык программирования Swift на WWDC14 . В презентации они провели сравнение производительности Objective-C и Python. Ниже приведено изображение одного из их слайдов, сравнение этих трех языков, выполняющих некоторую сложную сортировку объектов: Был еще более невероятный график сравнения производительности с использованием алгоритма шифрования RC4 . Очевидно, что …

6
Что на самом деле является «бизнес-логикой»?
Я занимаюсь веб-разработкой с 2009 года, когда начал работать с PHP. Когда я перешел на ASP.NET, я много слышал о DDD и OOAD, где большое внимание уделяется этой «бизнес-логике» и «бизнес-правилам». Дело в том, что все приложения, которые я разрабатывал до сих пор, были посвящены операциям CRUD, и я никогда …

2
Как определить кодировку файла?
В моей файловой системе (Windows 7) у меня есть несколько текстовых файлов (это файлы сценариев SQL, если это имеет значение). При открытии с помощью Notepad ++ в меню «Кодировка» сообщается, что некоторые из них имеют кодировку «UCS-2 Little Endian», а некоторые - «UTF-8 без BOM». В чем здесь разница? Все …

20
Подходит ли студентам фраза «никогда не изобретать велосипед»?
Я постоянно сталкиваюсь с этим выражением «не изобретай велосипед» или «никогда не изобретай велосипед», когда я задаю несколько вопросов по SO. Они говорят вам использовать некоторые фреймворки или существующие пакеты. Я знаю, откуда происходит это отношение, так как неразумно тратить время на то, что уже решили другие. Или это что …

17
Должен ли я сказать кому-то, что их совершение вызвало регресс?
Когда вы отслеживаете и исправляете регрессию, т. Е. Ошибку, из-за которой ранее работавший код перестал работать, контроль версий позволяет полностью определить, кто совершил изменение, которое нарушило его. Стоит ли это делать? Конструктивно ли указывать на это человеку, который совершил коммит? Меняется ли характер ошибки (в масштабе простой невнимательности к фундаментальному …

14
Почему 0 ложно?
Этот вопрос может показаться глупым, но почему 0оценки falseи любое другое [целочисленное] значение для trueбольшинства языков программирования составляют? Сравнение строк Поскольку вопрос кажется немного слишком простым, я объясню немного подробнее: во-первых, это может показаться очевидным любому программисту, но почему бы не появиться язык программирования - на самом деле может быть, …

8
Почему многие программисты переносят свой код на github?
В течение последних 6 месяцев и более я видел много кодов, размещенных на sourceforge.net, а также на других хостинговых сайтах «Перейти на GitHub». Простой поиск Google с фразой «Перемещено в Github» возвращает несколько результатов, содержащих текст, перемещенный в Github. Это очень смущает меня, и мне интересно, почему именно люди двигаются? …

12
Почему при разработке одного продукта или части программного обеспечения используются несколько языков программирования?
Я недавно учился в аспирантуре и собираюсь получить степень магистра компьютерных наук. Я сталкивался с несколькими проектами с открытым исходным кодом, которые действительно меня заинтриговывают и побуждают меня вносить в них свой вклад (CloudStack, OpenStack, moby и Kubernetes и многие другие). Одна вещь, которую я обнаружил, что у большинства из …

11
Существуют ли рекомендации относительно того, сколько параметров должна принимать функция?
Я заметил, что некоторые функции, с которыми я работаю, имеют 6 или более параметров, тогда как в большинстве библиотек, которые я использую, редко можно найти функцию, которая занимает больше 3. Часто многие из этих дополнительных параметров являются бинарными опциями для изменения поведения функции. Я думаю, что некоторые из этих бесчисленных …

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

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