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

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

10
Должен ли я использовать операторы switch или длинные цепочки if… else?
Часто, когда я слышу об операторе switch, его откладывают как способ заменить длинные цепочки if ... else. Но, похоже, что когда я использую оператор switch, я пишу больше кода, который я бы просто написал, если ... еще. У вас также есть другие проблемы, такие как хранение всех переменных для всех …

8
Имеет ли Linq ошеломляющий эффект для программистов .NET?
Многие из нас начали видеть это явление с jQuery около года назад, когда люди начали спрашивать, как сделать абсолютно безумные вещи, такие как получение строки запроса с помощью jQuery . Разница между библиотекой (jQuery) и языком (JavaScript), по-видимому, утеряна многими программистами и приводит к тому, что много неуместного, запутанного кода …

30
Распространено ли распечатывать код на бумаге? [закрыто]
Мне нравится, чтобы мои строки кода не превышали 80 символов, потому что: Мне не нужно делать горизонтальную прокрутку; Я знаю, что линия, вероятно, слишком сложна, если она превышает этот предел; а также он хорошо распечатывается на бумаге. Что касается последнего, я встречал лишь немногих, которые на самом деле распечатывали код …

11
Написание минимального кода для прохождения юнит-теста - без читерства!
При выполнении TDD и написании модульного теста, как можно сопротивляться желанию «обмануть» при написании первой итерации кода «реализации», который вы тестируете? Например: давайте мне нужно вычислить факториал числа. Я начинаю с модульного теста (используя MSTest) что-то вроде: [TestClass] public class CalculateFactorialTests { [TestMethod] public void CalculateFactorial_5_input_returns_120() { // Arrange var …
36 unit-testing  tdd 

3
Есть ли смысл использовать ES6 Map, когда все ключи являются строками?
Ключи простого объекта должны быть строками, а Mapключи могут иметь ключи любого типа. Но я практически не пользуюсь этим на практике. В любом случае я почти всегда использую строки в качестве ключей. И, вероятно new Map(), медленнее, чем {}. Так есть ли какая-то другая причина, почему может быть лучше использовать …

3
Повторно использовать объединенную ветку, хорошая практика?
В настоящее время я создавал новую ветку каждый раз, когда мне приходилось добавлять новую функцию в мое приложение. Когда моя функция закончена и функционирует, я объединяю ее с основной веткой. Но позже, когда мне нужно обновить эту функцию (например, улучшение), лучше ли создать новую ветку или мне нужно перебазировать предыдущую …
36 git  branching 

2
Эквивалент принципов SOLID для функционального программирования
Я нашел принципы SOLID весьма полезными, когда размышляю над объектно-ориентированным дизайном. Существует ли подобный / эквивалентный набор не зависящих от языка принципов, адаптированных для функционального программирования?

3
Есть ли причина использовать varchar над текстовыми столбцами в базе данных?
Это varcharпросто остаток до того, как textпришел, или есть случаи, когда вы хотели бы использовать varchar? (Или charв этом отношении ..) (Я использую Postgres и MySQL (MyISAM) ежедневно, так что это то, что меня больше всего интересует, но ответы для других баз данных, конечно, приветствуются. ^ _-)

5
В какой точке / диапазоне файл кода слишком велик?
Я нахожу много файлов по 2-3 тыс. Строк, и на самом деле не кажется, что они должны быть такими большими. Что является хорошим критерием, чтобы объективно называть файл исходного кода «слишком большим»? Существует ли такая вещь, как максимальное количество строк, которое должен иметь файл исходного кода?

1
В чем разница между индексированием btree и rtree?
Я заметил на MySQLWorkbench, что вы можете выбрать, как хранить ваши индексы, прежде чем приступить к разработке вашего дизайна. Типы хранения: BTREE RTREE HASH Исследуя это, я нашел некоторую информацию, которая была в значительной степени над моей головой, поэтому я ищу практическую информацию о том, в чем разница между ними …

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

8
Должен ли каждый git commit оставлять проект в рабочем состоянии?
Мне любопытно узнать, какова преобладающая лучшая практика. Следует ли применять git-коммиты таким образом, чтобы проект находился в рабочем состоянии (сборка выполнялась правильно, все тесты прошли и т. Д.), Или исправление испорченного кода в порядке? Например, если вы отказываетесь от этого требования, вы можете быть более гибкими с коммитами (используйте их …
36 git 

11
Где восьмеричные полезны? [закрыто]
Я просто 20 минут бился головой об стол, глядя на совершенно странную ошибку в PHP, а потом понял, что восьмеричная. <% (* & #> Восьмеричное). Короче говоря, я добавил несколько литералов с нулями, чтобы код выровнялся, я знаю, большая ошибка. Забыли про восьмерики. Вопрос в том, использует ли кто-нибудь восьмеричные …
36 octal 

15
Аргументы за или против использования Try / Catch в качестве логических операторов [закрыто]
Я только что обнаружил прекрасный код в приложении нашей компании, в котором в качестве логических операторов используются блоки Try-Catch. Это означает: «создайте некоторый код, если при этом выдается эта ошибка, сделайте этот код, но если при этом выдается эта ошибка, сделайте вместо этого эту третью вещь». Он использует «И наконец» …

7
Почему все помещают контроллеры в одну папку, а представления в другую?
Я собираюсь взять изгиб asp и в инфраструктуру MVC, Asp.net MVC или Нэнси. Куда бы я ни пошел, я вижу папки для контроллеров / модулей и папки для представлений. Является ли это просто рефлексом Павлова, приводящим вещи в порядок по типу, или действует какая-то более глубокая мудрость? У меня есть …
36 mvc  asp.net-mvc 

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