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

293
Что SVN делает лучше, чем Git? [закрыто]

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

289
Почему все используют Git централизованно?

Я использовал Git в своих последних двух компаниях для контроля версий. Из того, что я слышал, кажется, что около 90% компаний используют Git поверх других систем контроля версий. Один из главных плюсов Git в том, что он децентрализован, то есть все репозитории равны; нет центрального хранилища /...

288
Гроккинговая культура Java - почему все так тяжело? Для чего это оптимизировать? [закрыто]

Я много программировал на Python. Теперь по соображениям работы я пишу код на Java. Проекты, которые я делаю, довольно маленькие, и, возможно, Python будет работать лучше, но есть веские неинженерные причины для использования Java (я не могу вдаваться в подробности). Синтаксис Java не проблема; это...

287
Почему не все компании покупают разработчикам лучшее оборудование?

Я должен что-то упустить. Стоимость найма программиста в моем районе составляет от 50 до 100 долларов в час. Стоимость топового компьютера составляет всего 3000 долларов, поэтому стоимость покупки действительно хорошего компьютера каждые три года составляет 0,5 доллара в час. (3000 долларов США...

278
Когда большой переписать ответ?

Просто прочитайте вопрос о Больших Переписываниях, и я вспомнил вопрос, на который я так хотел ответить. Мне передали ужасный проект, написанный на старой Java, с использованием Struts 1.0, таблиц с несовместимыми отношениями или вообще без отношений, и даже таблиц без первичных ключей или полей,...

276
Имеет ли смысл использовать == в JavaScript когда-либо?

В хороших частях JavaScript Дуглас Крокфорд писал: В JavaScript есть два набора операторов равенства: ===и !==, и их злые близнецы ==и !=. Хорошие работают так, как вы ожидаете. Если два операнда имеют одинаковый тип и имеют одинаковое значение, то ===производит trueи !==производит false. Злые...

274
Должны ли фигурные скобки появляться на собственной линии? [закрыто]

Должны ли фигурные скобки быть на своей линии или нет? Что вы думаете об этом? if (you.hasAnswer()) { you.postAnswer(); } else { you.doSomething(); } или это должно быть if (you.hasAnswer()) { you.postAnswer(); } else { you.doSomething(); } или даже if (you.hasAnswer()) you.postAnswer(); else...

269
Почему люди делают таблицы с div?

В современной веб-разработке я все чаще сталкиваюсь с этой моделью. Это выглядит так: <div class="table"> <div class="row"> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> </div> </div> И в CSS есть что-то вроде:...

267
Оставляя преднамеренные ошибки в коде для тестировщиков, чтобы найти

Мы не делаем это в нашей фирме, но один из моих друзей говорит, что его руководитель проекта попросил каждого разработчика добавлять преднамеренные ошибки непосредственно перед тем, как продукт перейдет в QA. Вот как это работает: Непосредственно перед тем, как продукт перейдет в QA, команда...

267
#Regions - это антипаттерн или запах кода?

C # позволяет использовать ключевые слова #region/, #endregionчтобы сделать области кода разборными в редакторе. Всякий раз, когда я делаю это, я делаю это, чтобы скрыть большие куски кода, которые, вероятно, могут быть преобразованы в другие классы или методы. Например, я видел методы, которые...

266
Как сказать, что совет старшего разработчика плох? [закрыто]

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

265
Почему в формах HTML нет методов PUT и DELETE?

HTML4 / XHTML1 допускает только GET и POST в формах, теперь кажется, что HTML5 сделает то же самое. Есть предложение добавить эти два, но оно, похоже, не набирает обороты. По каким техническим или политическим причинам не было включено PUT и DELETE в черновик спецификации...

265
Почему закрытые поля недостаточно защищены?

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

261
Есть ли причина использовать ключевое слово «var» в ES6?

Руководство Бабеля по ES6 гласит: letэто новый var. Очевидно, единственное отличие состоит в том, что varобласть видимости отображается в текущей функции , а letобласть видимости - в текущий блок . В этом ответе есть несколько хороших примеров . Я не вижу никакой причины для использования varв коде...

257
Как я могу справиться с отношением программирования к культу груза?

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

257
Перки для новых программистов

Я намерен нанять 2-3 младших программистов прямо из колледжа. Помимо наличных денег, что является самым важным преимуществом для молодого программиста? Это игры на работе? Я хочу быть креативным ... Я хочу хорошие...

250
Чем глобальные различия отличаются от базы данных?

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

250
Если неизменные объекты хороши, почему люди продолжают создавать изменяемые объекты? [закрыто]

Если неизменяемые объекты¹ хороши, просты и дают преимущества в параллельном программировании, почему программисты продолжают создавать изменяемые объекты2? У меня есть четыре года опыта в программировании на Java, и, как я понимаю, первое, что люди делают после создания класса, - это генерирование...

245
Что должен знать каждый программист?

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