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

39
Разница между идиомой и дизайном шаблона?

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

39
Должен ли я включить метод самоуничтожения в мои приложения?

Недавно у меня был негативный опыт, когда клиент отказался от счета, но мой посредник уже загрузил наше программное обеспечение и дизайн на клиентский сервер. Клиент оказался известным преступником, и, конечно же, он сменил все возможные пароли сервера. Тем не менее, я все еще могу получить доступ...

39
Предпочитаете членов класса или передавать аргументы между внутренними методами?

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

39
В C ++ сколько времени программист тратит на управление памятью

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

39
Существуют ли реальные алгоритмы, которые значительно превосходят классы ниже? [закрыто]

Прошлой ночью я обсуждал с другим программистом, что, хотя что-то может быть O (1), операция, которая является O (n), может превзойти его, если в алгоритме O (1) есть большая константа. Он не согласен, поэтому я принес это сюда. Есть ли примеры алгоритмов, которые значительно превосходят те, что в...

39
Код обычно генерируется из UML? [закрыто]

Поэтому, когда я учился в университете, я узнал о преимуществах UML и его будущем в разработке кода. Но из своего отраслевого опыта я обнаружил, что хотя мы используем диаграммы - от диаграмм ER, диаграмм классов, диаграмм состояний до рабочих схем - все это для целей коммуникации. То есть я...

39
Как Python используется в реальном мире? [закрыто]

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

39
Почему «ссылка на объект не установлена ​​для экземпляра объекта» не говорит нам, какой объект?

Мы запускаем систему и иногда получаем известное исключение NullReferenceExceptionс сообщением Object reference not set to an instance of an object. Тем не менее, в методе, где у нас есть почти 20 объектов, наличие журнала, в котором говорится, что объект нулевой, на самом деле вообще бесполезен....

39
Имеют ли публичные константы «плохие»?

Это: public MyClass { public const string SomeString = "SomeValue"; } хуже чем это: public MyClass { public static string SomeString { get{ return "SomeValue";}} } На оба можно ссылаться одинаково: if (someString == MyClass.SomeString) ... Второй, однако, имеет защиту как собственность. Но...

39
Являются ли служебные классы, содержащие только статические члены, антипаттерном в C ++?

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

39
Где хранятся нулевые значения или они хранятся вообще?

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

39
Все ли языки в основном одинаковы?

Недавно мне пришлось понять дизайн небольшой программы, написанной на языке, о котором я понятия не имел ( ABAP , если вы должны знать). Я мог понять это без особых затруднений. Я понимаю, что овладение новым языком - это совершенно другая игра с мячом, но просто понять смысл кода (в частности,...

39
Почему нет собственных интерпретаторов Javascript для Windows / Mac / Linux?

Мне кажется, было бы очень полезно использовать Javascript для общих задач сценариев на стороне сервера, поскольку он имеет более или менее те же функции, что и Perl и Python. Но AFAIK нет общедоступных интерпретаторов Javascript для основных машинных архитектур. Я полагаю, что другой проблемой...

39
Устраняет ли неизменность необходимость блокировок при многопроцессорном программировании?

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

39
В чем разница между разработкой и разработкой?

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

39
Заблуждения о чисто функциональных языках?

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

39
Как подготовить начинающих программистов к современной (сложной) веб-среде?

В настоящее время наша компания разрабатывает приложения, в большинстве случаев предназначенные для веб-серверов Ruby on Rails и группы различных клиентов REST, от систем киосков в Java до встроенных устройств на C / C ++ (помимо интерфейсов для стандартных веб-браузеров). Нам нужно расширить нашу...

39
Проблемы с избеганием классов Smurf Naming с пространствами имен

Я вытащил отсюда термин «смурф» (номер 21). Чтобы избавить кого-то, кто не знаком с проблемой, именование Smurf - это префикс префикса группы связанных классов, переменных и т. Д. С общим префиксом, так что в итоге вы получаете «a SmurfAccountViewpass a SmurfAccountDTOto SmurfAccountController» и...

39
На языках, которые не допускают подчеркивания в целочисленных константах, является ли хорошей практикой создание константы для 1 миллиарда?

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