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

107
Метод против функции против процедуры

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

107
Действительно ли шаблоны проектирования действительно важны в наши дни?

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

107
IPv4 в IPv6. где находится IPv5?

Как все мы знаем, что после IPv4 появился IPv6. Как этот переход произошел? Я просто хочу знать, был ли какой-либо IPv5 также? или есть какая-то другая логика в названии этой версии IP как...

107
Разница между «параллельным» и «параллельным» исполнением?

В чем разница между терминами параллельного и параллельного выполнения? Я никогда не мог понять разницу. Тег определяет параллелизм как способ запуска двух процессов одновременно, но я думал, что параллелизм - это одно и то же, то есть: отдельные потоки или процессы, которые потенциально могут...

107
Когда оптимизировать память по сравнению с быстродействием метода?

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

107
В чем разница между использованием внедрения зависимостей в контейнере и поиском сервисов?

Я понимаю, что непосредственное создание зависимостей внутри класса считается плохой практикой. Это имеет смысл, поскольку это тесно связывает все, что в свою очередь делает тестирование очень трудным. Похоже, что почти все фреймворки, с которыми я сталкивался, предпочитают внедрение зависимостей с...

106
Должен ли я указать на ошибки, связанные с правописанием / грамматикой, в чьем-то коде? [закрыто]

Просматривая код сотрудника, я столкнулся с некоторыми орфографическими ошибками в именах функций, а также грамматическими ошибками, такими как «doesUserHasPermission ()» вместо «doUserHavePermission ()» в именах функций и переменных. Должен ли я указать ему на это или я слишком педантичен, замечая...

106
Объявления работы преувеличивают их требования? [закрыто]

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

106
Почему структуры данных так важны в интервью? [закрыто]

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

106
Почему Python используется для высокопроизводительных / научных вычислений (а Ruby нет)?

Вот цитата из выступления на PyCon 2011 : По крайней мере, в нашем магазине (Аргоннская национальная лаборатория) у нас есть три общепринятых языка для научных вычислений. В этом порядке они являются C / C ++, Fortran во всех его диалектах и ​​Python. Вы заметите абсолютное и полное отсутствие...

106
С чего начать моей команде с того, чтобы стать «современным»? [закрыто]

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

106
Боязнь веб-приложения не быть «будущим»

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

106
Как вы оправдываете написание большего количества кода, следуя правилам чистого кода?

Заметка модератора На этот вопрос уже отправлено 17 ответов . Прежде чем опубликовать новый ответ, пожалуйста, прочитайте существующие ответы и убедитесь, что ваша точка зрения еще не покрыта должным образом. Я следовал некоторым рекомендациям, рекомендованным в книге «Чистый код» Роберта Мартина,...

105
В Java, я должен использовать «final» для параметров и локальных, даже если мне не нужно?

Java позволяет помечать переменные (поля / локальные объекты / параметры) как final, чтобы предотвратить переназначение в них. Я нахожу это очень полезным с полями, так как это помогает мне быстро увидеть, являются ли некоторые атрибуты - или целый класс - неизменяемыми. С другой стороны, я считаю,...

105
Автоматическое программирование: написать код, который пишет код [закрыто]

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

105
Почему квадратное наследование от Rectangle будет проблематичным, если мы переопределим методы SetWidth и SetHeight?

Если Квадрат является типом Прямоугольника, то почему Квадрат не может наследовать от Прямоугольника? Или почему это плохой дизайн? Я слышал, как люди говорят: Если вы сделали Square производным от Rectangle, то Square должен использоваться везде, где вы ожидаете прямоугольник В чем здесь проблема?...

105
Почему именно XML называют «языком»?

Мне было интересно, почему в названии XML есть буква L. Сам по себе XML ничего не «делает». Это просто формат хранения данных, а не язык! Языки "делают" вещи. Чтобы заставить XML «делать» что-то, превращать его в язык, нужно добавить xmlnsатрибуты к его корневому элементу. Только тогда он сообщает...

104
Каковы различия между программированием на стороне сервера и на стороне клиента?

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

104
Как сделать большую кодовую базу проще для понимания

Предположим, что я разрабатываю относительно большой проект. Я уже задокументировал все свои классы и функции с помощью Doxygen, однако у меня была идея поместить «заметки программиста» в каждый файл исходного кода. Идея заключается в том, чтобы объяснить в терминах непрофессионала, как работает...