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

199
Почему программисты пишут приложения с закрытым исходным кодом, а затем делают их бесплатными? [закрыто]

Как предприниматель / программист, который зарабатывает на жизнь написанием и продажей программного обеспечения, я не понимаю, почему разработчики пишут приложения, а затем размещают их в Интернете бесплатно. Вы оказались в одной из самых прибыльных сфер в мире. Бизнес с прибылью в 99%, где у вас...

199
При использовании принципа единой ответственности, что представляет собой «ответственность»?

Кажется довольно ясным, что «принцип единой ответственности» не означает «только одно». Вот для чего нужны методы. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID);...

197
Стоит ли хранить копию всего кода, который вы пишете? [закрыто]

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

195
Почему родные обещания ES6 медленнее и требуют больше памяти, чем bluebird?

В этом тесте комплекту обещаний ES6 требуется в 4 раза больше времени, чем обещаниям Bluebird, и он использует в 3,6 раза больше памяти. Как библиотека JavaScript может быть намного быстрее и легче, чем собственная реализация v8, написанная на C? У обещаний Bluebird точно такой же API, как у...

194
Когда вы используете поплавок и когда вы используете двойной

Часто в моем опыте программирования мне нужно принять решение, использовать ли мне float или double для моих реальных чисел. Иногда я иду на поплавок, иногда я иду на двойной, но на самом деле это кажется более субъективным. Если бы мне пришлось встать на защиту моего решения, я бы, вероятно, не...

194
Неправильно ли использовать логический параметр для определения поведения?

Время от времени я видел практику, которая «чувствует» неправильную, но я не могу четко сформулировать, что в ней плохого. Или, может быть, это просто мое предубеждение. Поехали: Разработчик определяет метод с логическим значением в качестве одного из его параметров, и этот метод вызывает другой, и...

193
Зачем использовать базу данных вместо того, чтобы просто сохранять свои данные на диск?

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

192
Являются ли `break` и` continue` методами программирования?

Мой босс продолжает упоминать беспечно , что плохие программисты используют breakи continueв петлях. Я использую их все время, потому что они имеют смысл; позвольте мне показать вам вдохновение: function verify(object) { if (object->value < 0) return false; if (object->value >...

191
Является ли хорошей практикой всегда иметь первичный ключ с автоинкрементом?

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

190
Это плохая практика использовать тег <? = В PHP?

Я <?= ?>недавно сталкивался с этим тегом PHP и неохотно им пользуюсь, но он так сильно чешется, что я хотел, чтобы вы его взяли. Я знаю , что это плохая практика , чтобы использовать короткие тег , <? ?>и что мы должны использовать полные тег <?php ?>вместо этого, но что об этом...

190
Каковы хорошие привычки для разработки аргументов командной строки?

При разработке приложения я начал задаваться вопросом - как мне создавать аргументы командной строки? Многие программы используют формулу, как это -argument valueили /argument value. Решение, которое пришло мне в голову, было argument:value. Я думал, что это хорошо, потому что без пробелов нет...

189
Когда отдавать предпочтение ASP.NET WebForms, а не MVC

Я знаю, что Microsoft сказала ASP.NET MVC не является заменой веб-форм. А некоторые разработчики говорят, что WebForms быстрее разрабатывается, чем MVC. Но я считаю, что скорость кодирования сводится к уровню комфорта с технологией, поэтому я не хочу никаких ответов в этом ключе. Учитывая, что...

188
AGPL - что вы можете сделать, а что нет

AGPL - это довольно новая лицензия, предназначенная для использования в GPL-сетях. Однако, не будучи юристом и фактически не прочитав всю лицензию, я не могу понять, что именно вы можете делать свободно, а что нет с AGPL. Моя неуверенность подпитывается этим постом о MongoDB (который является AGPL)...

188
Это плохая практика для хранения больших файлов (10 МБ) в базе данных?

В настоящее время я создаю веб-приложение, которое позволяет пользователям хранить и обмениваться файлами размером от 1 до 10 МБ. Мне кажется, что хранение файлов в базе данных значительно замедлит доступ к базе данных. Это действительная проблема? Лучше ли хранить файлы в файловой системе и...

188
Как мне справиться с разногласиями в обзоре кода относительно маловероятного крайнего случая?

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

186
Большая часть моего кода имеет большой недостаток дизайна. Завершить или исправить это сейчас? [закрыто]

Я учусь в старшей школе и работаю над проектом на C # с моим другом примерно такого же уровня квалификации, как и я. Пока что мы написали примерно 3000 строк кода и 250 строк тестового кода за промежуток в 100 коммитов. Из-за школы я отложил проект на несколько месяцев, и недавно мне удалось снова...

186
Почему размеры программ такие большие?

Если мы посмотрим на старую программу Netscape Navigator или более раннюю версию Microsoft Word, размер этих программ был менее 50 МБ. Теперь, когда я устанавливаю Google Chrome, он равен 200 МБ, а версия Slack для настольных компьютеров - 300 МБ. Я читал о каком-то правиле, согласно которому...

184
Как я могу иметь дело с членом команды, который не любит делать комментарии в коде?

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