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

30
Учитывая табун лошадей, как мне определить среднюю длину рога всех единорогов?

Приведенный выше вопрос является абстрактным примером распространенной проблемы, с которой я сталкиваюсь в унаследованном коде, или, точнее, проблем, возникших в результате предыдущих попыток решить эту проблему. Я могу вспомнить хотя бы один метод .NET Framework, предназначенный для решения этой...

30
Если число слишком большое, оно перетекает в следующую ячейку памяти?

Я изучал программирование на Си, и меня беспокоит всего пара вещей. Давайте возьмем этот код для примера: int myArray[5] = {1, 2, 2147483648, 4, 5}; int* ptr = myArray; int i; for(i=0; i<5; i++, ptr++) printf("\n Element %d holds %d at address %p", i, myArray[i], ptr); Я знаю, что int может...

30
Лучше иметь 2 метода с ясным значением или только 1 метод двойного использования?

Чтобы упростить интерфейс, лучше просто не иметь getBalance()метод? Переход 0к charge(float c);тому же результату даст: public class Client { private float bal; float getBalance() { return bal; } float charge(float c) { bal -= c; return bal; } } Может быть, сделать заметку в javadoc? Или просто...

30
Каково происхождение препроцессора C?

Препроцессор C подключен к C, но его синтаксис совершенно отличается от основного языка: синтаксически значимые пробелы (конец строки завершает оператор, пробел после макроса определяет начало списка замены) блоки на основе ключевых слов вместо фигурных блоков elifвместоelse if определения на...

30
Как эффективный способ записать обоснования решений о дизайне продукта?

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

30
Когда и зачем использовать вложенные классы?

Используя объектно-ориентированное программирование, у нас есть возможность создать класс внутри класса (вложенный класс), но я никогда не создавал вложенный класс за 4 года своего опыта программирования. Для чего нужны вложенные классы? Я знаю, что класс может быть помечен как закрытый, если он...

30
Является ли стиль кодирования в организациях необязательной вещью?

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

30
Тысячи ошибок!

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

30
Существуют ли шаблоны проектирования, которые возможны только в динамически типизированных языках, таких как Python?

Я прочитал соответствующий вопрос. Существуют ли какие-либо шаблоны проектирования, которые не нужны в динамических языках, таких как Python? и запомнил эту цитату на Wikiquote.org Замечательная вещь о динамической типизации - она ​​позволяет вам выражать все, что можно вычислить. А системы типов -...

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

Я разрабатываю приложение с использованием Micro-Services, и я не уверен в том, какой механизм лучше использовать для сбора данных из нескольких служб. Я считаю, что есть два варианта: Интегрируйте межсервисный механизм связи, который позволяет сервисам общаться напрямую. API-шлюз будет вызывать...

30
Является ли это ограничение тестовой разработки (и Agile в целом) практически актуальным?

В разработке через тестирование (TDD) вы начинаете с неоптимального решения, а затем итеративно создаете лучшие, добавляя тестовые примеры и рефакторинг. Предполагается, что шаги будут небольшими, а это означает, что каждое новое решение будет как-то соседствовать с предыдущим. Это напоминает...

30
Когда следует обновлять зависимости?

У нас было два основных кризиса, связанных с зависимостями, с двумя разными базами кода (Android и веб-приложение Node.js). Для репозитория Android необходимо было перейти с Flurry на Firebase, что потребовало обновления библиотеки Google Play Services четырех основных версий. Аналогичная ситуация...

30
Почему дискриминационные союзы связаны с функциональным программированием?

За многие годы ОО-программирования я понял, что такое дискриминационные союзы, но я никогда не пропускал их. Недавно я занимался некоторым функциональным программированием на C #, и теперь я продолжаю желать, чтобы они у меня были. Это сбивает с толку меня, потому что, на первый взгляд, концепция...

30
Это запах кода, чтобы установить флаг в цикле, чтобы использовать его позже?

У меня есть фрагмент кода, в котором я повторяю карту до тех пор, пока определенное условие не станет истинным, а затем позже использую это условие, чтобы выполнить еще кое-что. Пример: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for...

30
Разработка класса, который будет принимать целые классы в качестве параметров, а не отдельные свойства

Например, у вас есть приложение с широко используемым классом, которое называется User. Этот класс предоставляет всю информацию о пользователе, его идентификаторе, имени, уровнях доступа к каждому модулю, часовом поясе и т. Д. Очевидно, что пользовательские данные широко используются во всей...

30
Должен ли я использовать микросервисы при разработке системы самостоятельно?

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

30
Почему стандартные библиотеки не являются примитивами языка программирования? [закрыто]

Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыт 10 месяцев назад . Я думал о том, почему существуют (во всех изученных мною языках программирования,...

30
Когда коммит не должен быть помечен версией?

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

30
Как лечить необработанные исключения? (Завершить приложение против сохранить его в живых)

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