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

30
Написание Java с низкой задержкой [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

30
Использование условия finally для выполнения работы после возврата плохой стиль / опасно?

Как часть написания Iterator, я обнаружил, что пишу следующий фрагмент кода (обработка ошибок) public T next() { try { return next; } finally { next = fetcher.fetchNext(next); } } немного легче читать, чем public T next() { T tmp = next; next = fetcher.fetchNext(next); return tmp; } Я знаю, что это...

30
Написание коммитов в качестве индивидуального разработчика?

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

30
В чем разница между Windows 8, WinRT и Windows RT?

Этот пост относится к быстро меняющемуся событию. Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я только что прочитал, что будут доступны две версии Windows: Windows...

30
Интерфейсы на абстрактном классе

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

30
Почему полезна концепция ленивых вычислений?

Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 7 лет назад . Кажется, что ленивая оценка выражений может привести к тому, что программист потеряет контроль над порядком выполнения кода. У меня возникают проблемы...

30
лучшие практики работы фабрики Python

Предположим, у меня есть файл, foo.pyсодержащий класс Foo: class Foo(object): def __init__(self, data): ... Теперь я хочу добавить функцию, которая Fooопределенным образом создает объект из необработанных исходных данных. Должен ли я поместить его как статический метод в Foo или как другую...

30
Можете ли вы использовать Пи как генератор случайных чисел?

Я недавно видел этот вопрос в математике. Это заставило меня задуматься. Может ли Пи использоваться как генератор грубых случайных чисел? Я имею в виду, что результаты хорошо известны (как долго вычислялось число пи сейчас?), Но пи кажется довольно случайным, если брать по одной цифре за раз. Имеет...

30
Как бороться с доброжелательными участниками с открытым исходным кодом?

Если программист связывается с вами и просит внести свой вклад в ваш проект, как вы справляетесь с этим? Ты не знаешь, хорош ли этот парень. Возможно, у него будет больше проблем, чем он того стоит. Возможно, он пытается прикрепить свое имя к успешному проекту только за похвалы. Возможно, он...

30
Вывод типа в Java 8

Собирается ли введение новой лямбда-нотации (см., Например, эту статью ) в Java 8 какого-либо вывода типа? Если да, то как новая система типов повлияет на язык Java в...

30
Парное программирование, когда водитель и наблюдатель имеют разный уровень квалификации и опыта

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

30
Применение денотационной семантики для проектирования программ

Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 6 лет назад . Я читал немного о денотационной семантике (DS), и я очень заинтригован процессом разработки компьютерных программ, где типы и функции имеют четкое и...

30
Пазл с фонтаном шампанского

Пустые стаканы с водой располагаются в следующем порядке: Когда вы наливаете жидкость в 1-й стакан, если он полон, то дополнительная жидкость будет поступать в стаканы 2 и 3 в равных количествах. Когда стакан 2 заполнен, лишняя жидкость будет переливаться в 4 и 5 и так далее. Учитывая, что N литров...

30
Ложное объяснение пробуждений звучит как ошибка, которую просто не стоит исправлять, верно?

Согласно статье в Википедии о ложных пробуждениях msgstr "поток может быть выведен из состояния ожидания, даже если ни один из потоков не сигнализировал об условной переменной". Хотя я знаю об этой «функции», я никогда не знал, что на самом деле вызвало ее, пока, в той же статье «Ложные пробуждения...

30
Является ли стратегия слияния, такая как Git Flow, действительно анти-паттерном?

Моя компания использует Git и использует особую схему ветвления - работа выполняется в master, а ветки зарезервированы для выпусков. Это прекрасно работает, пока вся работа, выполненная в итерации, превращается в ветвь, но если возникает критическая производственная проблема, мы должны...

30
Должен ли я проверить унаследованные методы?

Предположим, у меня есть класс Manager, производный от базового класса Employee , и у этого Employee есть метод getEmail (), который наследуется Manager . Должен ли я проверить, что поведение метода getEmail () менеджера на самом деле такое же, как и у сотрудника? На момент написания этих тестов...

30
Это правильное «правило» для идентификации «большого О» обозначения алгоритма?

Я узнал больше о Big O Notation и о том, как рассчитать его на основе написания алгоритма. Я наткнулся на интересный набор «правил» для вычисления нотации алгоритмов Big O и хотел посмотреть, на правильном ли я пути или нет. Big O Обозначение: N function(n) { For(var a = 0; i <= n; i++) { //...

30
Когда разделять проект на несколько подпроектов

Я хотел бы знать, имеет ли смысл разделять проект, над которым я работаю, на два репозитория вместо одного. Из того, что я могу сказать: Интерфейс будет написан на html + js Бэкэнд в .net Внутренний интерфейс не зависит от внешнего интерфейса, а внешний интерфейс не зависит от внутреннего...

30
Динамические формы конструктора форм и базы данных? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . Скажем, ваши пользователи могут создавать свои...

30
Является ли метод «запуска», «запуска» или «выполнения» хорошей практикой?

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