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

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

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

30
Должны ли фигурные скобки появляться на собственной линии? [закрыто]
Должны ли фигурные скобки быть на своей линии или нет? Что вы думаете об этом? if (you.hasAnswer()) { you.postAnswer(); } else { you.doSomething(); } или это должно быть if (you.hasAnswer()) { you.postAnswer(); } else { you.doSomething(); } или даже if (you.hasAnswer()) you.postAnswer(); else you.doSomething(); Пожалуйста, будьте конструктивны! Объясните, почему, делитесь …

8
Почему люди делают таблицы с div?
В современной веб-разработке я все чаще сталкиваюсь с этой моделью. Это выглядит так: <div class="table"> <div class="row"> <div class="cell"></div> <div class="cell"></div> <div class="cell"></div> </div> </div> И в CSS есть что-то вроде: .table { display: table; } .row { display: table-row; } .cell { display: table-cell; } * (Имя класса является …
269 html  css 

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

19
#Regions - это антипаттерн или запах кода?
C # позволяет использовать ключевые слова #region/, #endregionчтобы сделать области кода разборными в редакторе. Всякий раз, когда я делаю это, я делаю это, чтобы скрыть большие куски кода, которые, вероятно, могут быть преобразованы в другие классы или методы. Например, я видел методы, которые содержат 500 строк кода с 3 или …
267 c#  code-smell 

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

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

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

5
Есть ли причина использовать ключевое слово «var» в ES6?
Руководство Бабеля по ES6 гласит: letэто новый var. Очевидно, единственное отличие состоит в том, что varобласть видимости отображается в текущей функции , а letобласть видимости - в текущий блок . В этом ответе есть несколько хороших примеров . Я не вижу никакой причины для использования varв коде ES6. Даже если …
261 javascript  es6 

30
Как я могу справиться с отношением программирования к культу груза?
У меня есть студенты-информатики на обязательном вводном курсе по программированию, которые рассматривают язык программирования как набор магических заклинаний, которые должны быть сотворены для достижения какого-то эффекта (вместо того, чтобы рассматривать его как гибкую среду для выражения своей идеи решения) , Они имеют тенденцию копировать и вставлять код из предыдущих похожих …
257 teaching 

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

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

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

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

14
Должны ли мы избегать создания объектов в Java?
Коллега сказал мне, что в Java создание объекта является самой дорогой операцией, которую вы можете выполнить. Поэтому я могу только заключить, чтобы создать как можно меньше объектов. Кажется, это несколько противоречит цели объектно-ориентированного программирования. Если мы не создаем объекты, то мы просто пишем один длинный класс класса C для оптимизации?

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