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

101
Какой самый абсурдный миф о проблемах программирования?

Другими словами, с каким наиболее распространенным и расстраивающим недоразумением в программировании вы сталкивались? Какие распространенные и давние мифы / заблуждения вам трудно программистам развеять / исправить . Пожалуйста, объясните, почему это...

101
Как написать хорошее сообщение об исключении

В настоящее время я делаю обзор кода, и одна из вещей, на которые я обращаю внимание, - это число исключений, когда сообщение об исключении, кажется, просто повторяет, где произошло исключение. например throw new Exception("BulletListControl: CreateChildControls failed."); Все три пункта в этом...

101
Как программисты на Западе видят программистов на Востоке?

Другая половина вопроса: как программисты на Востоке видят программистов на Западе? Восточная часть мира (Индия / Китай / Филиппины) в основном предоставляет услуги аутсорсинга в западном мире (США и Европа). Есть ли у вас опыт работы с оффшорными командами? Если да, как это было? Есть ли у вас...

101
Зачем объявлять переменную в одной строке, а присваивать ей в следующей?

Я часто вижу в коде C и C ++ следующее соглашение: some_type val; val = something; some_type *ptr = NULL; ptr = &something_else; вместо some_type val = something; some_type *ptr = &something_else; Сначала я предполагал, что это привычка, оставшаяся со времен, когда вам приходилось объявлять...

101
Как далеко нужно пройти проверку адреса электронной почты?

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

101
Какая польза от использования венгерской нотации?

Одна из вещей, с которой я борюсь, это не использование венгерской нотации. Я не хочу идти к определению переменной, чтобы посмотреть, какой это тип. Когда проект становится обширным, приятно иметь возможность просматривать переменную с префиксом 'bool' и знать, что он ищет значение true / false...

101
Какая польза от использования отладчика?

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

101
Должен ли я избегать частных методов, если я выполняю TDD?

Я только сейчас изучаю TDD. Насколько я понимаю, частные методы не поддаются проверке и не должны беспокоиться, потому что общедоступный API предоставит достаточно информации для проверки целостности объекта. Я понял ООП некоторое время. Насколько я понимаю, частные методы делают объекты более...

101
Создание соединений с базой данных - сделать это один раз или для каждого запроса?

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

101
Как управлять уведомлением об авторских правах в проекте с открытым исходным кодом?

Я работаю над проектом GitHub, который включает в себя этот файл LICENCE.md (очевидно, дословно MIT), и добавляю в него: Copyright (c) 2012 [Acme Corp] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),...

101
Как называется антипаттерн напротив «изобретать велосипед»? [закрыто]

Антипаттерн « Изобретай колесо » довольно распространен - ​​вместо использования готового решения напишите свое собственное с нуля. Кодовая база растет без необходимости, немного других интерфейсов, которые делают то же самое, но немного по- разному, тратится время на написание (и отладку!)...

100
Какие популярные «лучшие практики» не всегда являются лучшими и почему? [закрыто]

«Лучшие практики» повсюду в нашей отрасли. Поиск Google на «кодировании лучших практик» появляется около 1,5 миллионов результатов. Идея, кажется, приносит утешение многим; просто следуйте инструкциям, и все будет хорошо. Когда я читаю о лучшей практике - например, я недавно прочитал несколько из...

100
30 минут, чтобы объяснить программирование 15-летнему [закрыто]

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

100
Как я могу научить умного человека без опыта программирования, как программировать? [закрыто]

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

100
Что может сделать несколько потоков, чего не может один поток? [закрыто]

Хотя потоки могут ускорить выполнение кода, нужны ли они на самом деле? Может ли каждый фрагмент кода быть выполнен с использованием одного потока, или существует что-то, что может быть достигнуто только с использованием нескольких...

100
почему базы данных noSQL более масштабируемы, чем SQL?

В последнее время я много читал о СУБД noSQL. Я понимаю теорему CAP , правила ACID, правила BASE и основную теорию. Но не нашли никаких ресурсов о том, почему noSQL масштабируется легче, чем RDBMS (например, в случае системы, которая требует много серверов БД)? Я предполагаю, что сохранение...

100
Должен ли я использовать скобки в логических утверждениях, даже если это не нужно?

Допустим, у меня есть логическое условие, a AND b OR c AND dи я использую язык, в котором ANDпрецедент операции выше, чем OR. Я мог бы написать эту строку кода: If (a AND b) OR (c AND d) Then ... Но на самом деле это эквивалентно: If a AND b OR c AND d Then ... Есть ли аргументы за или против...