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

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

23
Обязательно ли каждому программисту изучать регулярные выражения? [закрыто]
Я новичок в программировании, и на собеседовании у меня возник вопрос о регулярных выражениях; Само собой разумеется, я не мог ответить. Поэтому мне было интересно, должен ли я изучать регулярные выражения? Это необходимо для каждого программиста во всех областях? Или это необходимо для программирования для некоторых конкретных областей? Смежные вопросы: …

19
Выбор между двумя программистами: опыт против страсти [закрыто]
Я нахожусь в положении, когда мне нужно нанять программиста и у меня есть выбор из 2 кандидатов, у первого есть опыт, но у него нет страсти к кодированию, и он говорит об этом, а у второго нет опыта, но у него страсть, он преуспел в интервью и сертифицирован. У нас …

15
Разве плохо использовать символы Юникода в именах переменных? [закрыто]
Недавно я пытался реализовать алгоритм ранжирования AllegSkill для Python 3. Вот как выглядит математика: Нет, правда. Это то, что я написал: t = (µw-µl)/c # those are used in e = ε/c # multiple places. σw_new = (σw**2 * (1 - (σw**2)/(c**2)*Wwin(t, e)) + γ**2)**.5 Я действительно думал , что …
82 naming  unicode 

15
Я не понимаю аргументы против перегрузки операторов [закрыто]
Я только что прочитал одну из статей Джоэла, в которых он говорит: В общем, я должен признать, что я немного боюсь языковых особенностей, которые скрывают вещи . Когда вы видите код i = j * 5; … В C вы знаете, по крайней мере, что j умножается на пять, а …

11
Разработчики Java сознательно отказались от RAII?
Как давний программист на C #, я недавно узнал больше о преимуществах Resource Acquisition Is Initialization (RAII). В частности, я обнаружил, что идиома C #: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } имеет эквивалент C ++: { DbConnection dbConn(connStr); // do stuff with dbConn …
82 java  c#  c++  language-design 

18
Как лучше всего найти отличного программиста на собеседовании?
В обстановке собеседования: Как лучше всего определить, когда кто-то является отличным программистом . Под этим я подразумеваю, что он один из тех, кто в 10-15 раз более эффективен / быстр / лучше, чем его сверстники по направлению к нижнему краю спектра. Многие из нас слышали о проблеме FizzBuzz как о …

10
Если ноль плох, почему современные языки реализуют его? [закрыто]
Я уверен, что разработчики языков, таких как Java или C #, знали проблемы, связанные с существованием нулевых ссылок (см. Действительно ли нулевые ссылки - это плохо? ). Также реализация типа параметра не намного сложнее, чем нулевые ссылки. Почему они решили включить его в любом случае? Я уверен, что отсутствие нулевых …

6
Почему существует уровень TRACE, и когда я должен использовать его, а не DEBUG?
В Log4J, Slf4J и нескольких других средах ведения журналов в Java у вас есть два уровня «разработки» для ведения журнала: DEBUG TRACE Я понимаю, что делает DEBUG, потому что объяснение ясно: Уровень DEBUG обозначает детализированные информационные события, которые наиболее полезны для отладки приложения. Но уровень TRACE не очень конкретен в …
82 java  logging 

9
Каков предполагаемый прирост производительности динамической типизации? [закрыто]
Я часто слышал утверждение, что динамически типизированные языки более производительны, чем статически типизированные. Каковы причины этого требования? Разве это не просто инструментарий с современными концепциями, такими как соглашение о конфигурации, использование функционального программирования, продвинутые модели программирования и использование согласованных абстракций? По общему признанию, здесь меньше беспорядка, потому что (например, в …

9
Если вы всегда передаете минимум необходимых данных в функцию в подобных случаях
Допустим, у меня есть функция, IsAdminкоторая проверяет, является ли пользователь администратором. Давайте также скажем, что проверка администратора выполняется путем сопоставления идентификатора пользователя, имени и пароля с каким-то правилом (не важно). В моей голове есть две возможные функции подписи для этого: public bool IsAdmin(User user); public bool IsAdmin(int id, string name, …

7
Должен ли я использовать Dependency Injection или статические фабрики?
При проектировании системы я часто сталкиваюсь с проблемой использования множества модулей (журналирование, доступ к базе данных и т. Д.) Другими модулями. Вопрос в том, как мне предоставить эти компоненты другим компонентам. Два ответа кажутся возможными для внедрения зависимости или использования фабричного шаблона. Однако оба кажутся неправильными: Фабрики затрудняют тестирование и …

14
Почему большинство файлов журнала используют простой текст, а не двоичный формат?
Ведение журнала - это то, что необходимо, но (относительно) редко используется. Как таковой он может быть сделан намного более компактным с точки зрения хранения. Например, данные, которые чаще всего регистрируются, такие как IP, дата, время и другие данные, которые могут быть представлены в виде целого числа, хранятся в виде текста. …
81 logging  storage 

5
Есть ли на выбор готовые лицензии на коммерческое программное обеспечение? [закрыто]
В настоящее время у меня есть проект с открытым исходным кодом, который распространяется по лицензии GPLv3. Я хотел бы получить двойную лицензию, чтобы предложить ее для коммерческого использования. Есть ли ресурсы для выбора или создания лицензии на коммерческое программное обеспечение?
81 licensing 

15
Почему СУХОЙ важно?
Очень просто, зачем мне писать код, который работает для всех случаев и масштабируемых данных, когда все, что мне нужно сделать, это повторить один и тот же процесс несколько раз с небольшими изменениями? Мне вряд ли понадобится редактировать это снова в ближайшее время. Похоже, гораздо меньше работы, чтобы просто пойти ... …
81 code-quality  dry 

12
Как вы берете интервью у кого-то с большим опытом, чем вы? [закрыто]
Компания, в которой я работаю, ищет нанятого старшего разработчика с большим опытом, чем я, и они ожидают, что я сделаю техническую часть интервью. Я программировал всего несколько лет и не уверен, что обладаю знаниями, необходимыми для оценки навыков кодирования того, кто обладает большим пониманием / опытом, чем я. Может ли …
81 interview 

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