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

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

2
Заблуждения о чисто функциональных языках?
Я часто сталкиваюсь со следующими утверждениями / аргументами: Чисто функциональные языки программирования не допускают побочных эффектов (и поэтому практически бесполезны, поскольку любая полезная программа имеет побочные эффекты, например, когда она взаимодействует с внешним миром). Чистые функциональные языки программирования не позволяют написать программу, которая поддерживает состояние (что делает программирование очень неудобным, …

12
Почему у большинства языков программирования есть специальное ключевое слово или синтаксис для объявления функций? [закрыто]
Большинство языков программирования (как динамически, так и статически типизированных) имеют специальные ключевые слова и / или синтаксис, которые выглядят значительно иначе, чем объявления переменных для объявления функций. Я вижу функции как объявление другой именованной сущности: Например в Python: x = 2 y = addOne(x) def addOne(number): return number + 1 …

6
В чем разница между разработкой и разработкой?
Коллега попросил меня четко объяснить разницу между обычной разработкой и исследованиями и разработками (R & D), и я не смог этого сделать. После прочтения Википедии у меня все еще нет точного ответа. Согласно Википедии (слегка изменено): Есть две основные модели: В одной модели основная функция заключается в разработке новых продуктов …

12
Документация в ООП должна избегать указания, выполняет ли «получатель» какие-либо вычисления?
Программа CS моей школы избегает каких-либо упоминаний об объектно-ориентированном программировании, поэтому я немного читал сам, чтобы дополнить его - в частности, конструкцию объектно-ориентированного программного обеспечения Бертрана Мейера. Мейер неоднократно подчеркивал, что классы должны скрывать как можно больше информации об их реализации, что имеет смысл. В частности, он неоднократно утверждает, что …

4
Где хранятся нулевые значения или они хранятся вообще?
Я хочу узнать о нулевых значениях или нулевых ссылках. Например, у меня есть класс под названием Apple, и я создал его экземпляр. Apple myApple = new Apple("yummy"); // The data is stored in memory Затем я съел это яблоко, и теперь оно должно быть нулевым, поэтому я установил его как …
39 memory  null 

6
Предпочитаете членов класса или передавать аргументы между внутренними методами?
Предположим, что в частной части класса есть значение, которое используется несколькими частными методами. Предпочитают ли люди определять это как переменную-член для класса или передавать его в качестве аргумента каждому из методов - и почему? С одной стороны, я мог бы привести аргумент, что сокращение состояния (т.е. переменных-членов) в классе, как …

13
На языках, которые не допускают подчеркивания в целочисленных константах, является ли хорошей практикой создание константы для 1 миллиарда?
На языках, которые не допускают подчеркивания в целочисленных литералах , это хорошая идея, чтобы создать константу за 1 миллиард? например, в C ++: size_t ONE_BILLION = 1000000000; Конечно, мы не должны создавать константы для небольших чисел, таких как 100. Но с 9 нулями, возможно, легко обнулить ноль или добавить дополнительный …

14
Как Python используется в реальном мире? [закрыто]
Я ищу работу программиста на Python. Я знаю основы языка и создал несколько игр на нем, используя Pygame . Я также начал экспериментировать с Джанго . Тем не менее, глядя на рынок вакансий, не похоже, что многие рабочие места в Python связаны с сетью. Что касается настольных систем, то не …
39 python 

5
Устраняет ли неизменность необходимость блокировок при многопроцессорном программировании?
Часть 1 Очевидно, что неизменность сводит к минимуму необходимость блокировок в многопроцессорном программировании, но устраняет ли она эту потребность, или есть случаи, когда одной неизменности недостаточно? Мне кажется, что вы можете только отложить обработку и инкапсулировать состояние настолько задолго до того, как большинству программ придется что-то делать (обновить хранилище данных, …

9
Являются ли служебные классы, содержащие только статические члены, антипаттерном в C ++?
Вопрос « Куда мне помещать функции, не связанные с классом », вызвал некоторые споры о том, имеет ли смысл в C ++ объединять служебные функции в классе или они просто существуют как свободные функции в пространстве имен. Я пришел из C # фона, где последний вариант не существует, и, таким …

8
В C ++ сколько времени программист тратит на управление памятью
Люди, которые привыкли собирать языки, часто боятся управления памятью в C ++. Существуют такие инструменты, как auto_ptrи shared_ptrкоторые будут выполнять многие задачи по управлению памятью для вас. Множество библиотек C ++ предшествуют этим инструментам и имеют собственный способ обработки задач управления памятью. Сколько времени вы тратите на задачи управления памятью? …
39 c++  memory 

11
Код обычно генерируется из UML? [закрыто]
Поэтому, когда я учился в университете, я узнал о преимуществах UML и его будущем в разработке кода. Но из своего отраслевого опыта я обнаружил, что хотя мы используем диаграммы - от диаграмм ER, диаграмм классов, диаграмм состояний до рабочих схем - все это для целей коммуникации. То есть я никогда …
39 uml  diagrams  visio 


10
Разница между идиомой и дизайном шаблона?
В чем разница между идиомой и дизайном? Кажется, что эти термины где-то частично совпадают; где именно, я не знаю. Они взаимозаменяемы? Когда я должен использовать что? Вот список идиом C ++. Могу ли я назвать их шаблонами дизайна? Википедия определяет, Идиома программирования как шаблон проектирования низкого уровня Что это означает? …

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

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