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

43
Были ли пробелы в идентификаторах когда-либо идиоматическими? [закрыто]

Стиль C # предлагает использовать CamelCase в идентификаторах для разделения слов. Традиция Лиспа предлагает использовать вместо него тире. Существовал ли когда-либо язык программирования, где использование пробелов в идентификаторах было не только разрешено, но и широко использовалось при...

43
Как мне построить структуру данных для динамического «лабиринта» неограниченного размера?

Я на самом деле не уверен, что «лабиринт» является правильным термином. В основном пользователи начинают с одного, Roomкоторый имеет 4 двери (N, S, E и W). Они могут идти в любом направлении, и каждая последующая комната содержит отдельную комнату с от 1 до 4 дверными проемами, которые ведут в...

43
Принципы программирования SOLID

Со временем я смог понять две части SOLID - «S» и «O». «O» - я выучил принцип Open Closed с помощью модели наследования и стратегии. «S» - я изучил принцип единой ответственности при изучении ORM (логика персистентности отбирается у объектов домена). Аналогичным образом, какие области / задачи...

43
Являются ли небольшие объемы функционального программирования понятными для не-FP людей? [закрыто]

Кейс : я работаю в компании, пишу приложение на Python, которое обрабатывает много данных в массивах. На данный момент я являюсь единственным разработчиком этой программы, но, вероятно, она будет использоваться / изменяться / расширяться в будущем (1-3 года) другим программистом, в данный момент...

43
Почему (или почему нет) экзистенциальные типы считаются плохой практикой в ​​функциональном программировании?

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

43
обзор кода с помощью git-flow и github

С обычными git и github я могу сделать обзор кода, просто создав запрос на извлечение из ветви функций, над которой я работаю, в главную ветку. Как бы я делал обзоры кода с помощью git-flow? С таким рабочим процессом, как «Завершение функции git flow», я не понимаю, где на самом деле происходит...

43
Как вы отслеживаете, какие классы и функции написала ваша команда?

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

43
Каковы недостатки MVC? [закрыто]

Я использую MVC / MV * с тех пор, как начал организовывать свой код много лет назад. Я использую его так долго, что даже не могу придумать какой-либо другой способ структурирования своего кода, и каждая работа, которую я имел после стажировки, была основана на MVC. У меня вопрос, каковы недостатки...

43
Рекомендации по созданию шаблона кодов ошибок для корпоративного проекта в C # [закрыто]

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

43
Почему программисты используют `Acme` в качестве имени пакета, пространства имен или каталога [закрыто]

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

43
Полная неизменность и объектно-ориентированное программирование

В большинстве языков ООП объекты обычно изменяемы с ограниченным набором исключений (например, кортежи и строки в Python). В большинстве функциональных языков данные неизменны. Как изменяемые, так и неизменяемые объекты имеют целый ряд собственных преимуществ и недостатков. Существуют языки,...

43
Я делаю в 4-5 раз больше историй, чем в среднем, но делаю ошибки с половиной скорости. Графики говорят, что это в 2 раза больше ошибок, как с этим бороться?

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

43
Это хорошая практика для запуска модульных тестов в хуках контроля версий?

С технической точки зрения возможно добавить несколько до / после push-хуков, которые будут запускать модульные тесты, прежде чем разрешить объединение некоторого конкретного коммита с удаленной веткой по умолчанию. Мой вопрос - лучше ли держать модульные тесты в конвейере сборки (таким образом,...

43
Понимание лицензии Visual Studio Community Edition

Недавно Microsoft выпустила бесплатную версию Visual Studio: Visual Studio Community Edition. лицензия говорит ЕСЛИ ВЫ СОБЛЮДАЕТЕ ЭТИ УСЛОВИЯ ЛИЦЕНЗИИ, ВЫ ИМЕЕТЕ НИЖЕ ПРАВА. ПРАВА НА УСТАНОВКУ И ИСПОЛЬЗОВАНИЕ. а. Индивидуальная лицензия. Если вы работаете над своими собственными приложениями для...

43
Как я должен внести свой вклад в (в основном) заброшенный проект GitHub?

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

43
Когда НЕ применять принцип инверсии зависимости?

В настоящее время я пытаюсь выяснить, ТВЕРДЫЙ. Таким образом, принцип обращения зависимостей означает, что любые два класса должны взаимодействовать через интерфейсы, а не напрямую. Пример: если class Aесть метод, который ожидает указатель на объект типа class B, то этот метод должен фактически...

43
Ссылка на значения базы данных в бизнес-логике

Я думаю, это еще один вопрос о жестком кодировании и передовых методах. Допустим, у меня есть список значений, скажем, фруктов, хранящихся в базе данных (он должен быть в базе данных, так как таблица используется для других целей, таких как отчеты SSRS), с идентификатором: 1 Apple 2 Banana 3 Grapes...

43
Как вы называете функцию, когда один и тот же вход всегда будет возвращать один и тот же выход, но также имеет побочные эффекты?

Скажем, у нас есть нормальная чистая функция, такая как function add(a, b) { return a + b } И тогда мы изменим его так, что он имеет побочный эффект function add(a, b) { writeToDatabase(Math.random()) return a + b; } Насколько я знаю, это не считается чистой функцией, потому что я часто слышу, как...

43
Являются ли так называемые «сквозные проблемы» действительным поводом для нарушения SOLID / DI / IoC?

Мои коллеги любят говорить «ведение журнала / кеширование и т. Д. - сквозная проблема», а затем везде использовать соответствующий синглтон. Все же они любят IoC и DI. Действительно ли это оправданное нарушение принципа SOLI D...