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

214
Сколько я должен использовать 'let' против 'const' в ES6?

Недавно я написал много кода ES6 для io.js. В дикой природе не так уж много полезного, поэтому я чувствую, что по ходу дела определяю свои собственные соглашения. Мой вопрос о том, когда использовать constпротив let. Я применяю это правило: если возможно, используйте const. Используйте только...

211
Нормально ли тратить столько времени, если не больше, на написание тестов, чем на реальный код?

Я считаю, что тесты гораздо сложнее и сложнее написать, чем сам код, который они тестируют. Для меня нередко тратить больше времени на написание теста, чем на код, который он тестирует. Это нормально или я что-то не так делаю? Вопросы « Стоит ли модульное тестирование или разработка через...

210
Почему присвоение имени столбцу первичного ключа таблицы «Id» считается плохой практикой? [закрыто]

Мой учитель t-sql сказал нам, что именование нашей колонки PK "Id" считается плохой практикой без каких-либо дополнительных объяснений. Почему именование столбца PK таблицы "Id" считается плохой...

210
Зачем нам нужны частные переменные?

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

209
Зачем нам нужно так много классов в шаблонах проектирования?

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

209
Мой босс просит меня прекратить писать небольшие функции и делать все в одном цикле

Я прочитал книгу под названием « Чистый код » Роберта Мартина. В этой книге я видел много методов для очистки кода, таких как написание небольших функций, тщательный выбор имен и т. Д. Это, безусловно, самая интересная книга о чистом коде, которую я читал. Однако сегодня моему боссу не понравилось,...

209
Нужны ли нам ОО-языки для управления сложностью программного обеспечения?

Это будет очень нетехнический, мягкий вопрос, и я не уверен, что это правильная платформа. Но я начинающий студент CS, поэтому надеюсь, что вы, ребята, это терпите. В первом семестре мы познакомились с такими понятиями ООП, как инкапсуляция, сокрытие данных, модульность, наследование и т. Д. Через...

209
Есть ли название для (анти) шаблона передачи параметров, который будет использоваться только на нескольких уровнях в цепочке вызовов?

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

204
«Никогда не делайте в коде то, что вы можете сделать, чтобы SQL-сервер работал хорошо для вас» - это рецепт плохого дизайна?

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

204
Могу ли я использовать программное обеспечение GPL в коммерческом приложении

У меня есть 3 вопроса о GPL здесь: Если я использую программное обеспечение GPL в своем приложении, но не изменяю и не распространяю его, должен ли я выпускать свое приложение под лицензией GPL? Что, если я изменю какое-то программное обеспечение, которое использует мое приложение. Затем я должен...

204
Что именно делает систему типов Haskell столь уважаемой (скажем, Java)?

Я начинаю изучать Хаскель . Я очень новичок в этом, и я просто читаю пару онлайн-книг, чтобы разобраться с его основными конструкциями. Один из «мемов», о которых часто говорили знакомые с ним люди, - это целая вещь «если она скомпилируется, она будет работать», - я думаю, что это связано с силой...

204
Почему Mercurial проще, чем Git?

При рассмотрении сравнений мне кажется, что между их наборами функций может быть соотношение 1: 1. Тем не менее, часто цитируемое утверждение гласит, что «Mercurial проще». На чем основано это утверждение? (если...

202
Почему не больше настольных приложений, написанных с помощью Qt? [закрыто]

Насколько я знаю и понял из моего опыта работы с Qt, это очень хорошая и простая в освоении библиотека. Он имеет очень хорошо разработанный API и является кроссплатформенным, и это только две из многих функций, которые делают его привлекательным. Мне интересно знать, почему больше программистов не...

202
Что такое MVC, на самом деле?

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

202
Должны ли изображения храниться в репозитории git?

Для распределенной команды, которая использует Git и Github в качестве контроля версий, должны ли изображения также храниться в репозитории git? По большей части изображения не будут изменены. Папка, содержащая их, будет только увеличиваться в размере по мере добавления изображений. Проблема...

201
Почему сквош-мерзавец совершает запросы на извлечение?

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

200
Мой папа с нетерпением ждет темпа моего обучения программированию. Что я делаю? [закрыто]

Так что мой папа купил мне 5 книг по программированию (C ++, Java, PHP, Javascript, Android) около месяца назад. Он архитектор, и он ничего не знает о программировании. Он купил их мне, потому что я сказал ему, что программирование было забавным, и я хотел изучить это. Как вы, наверное, знаете,...