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

44
Почему классы не должны быть «открытыми»?

При чтении различных вопросов о переполнении стека и чужого кода общее мнение о том, как проектировать классы, закрыто. Это означает, что по умолчанию в Java и C # все закрыто, поля являются окончательными, некоторые методы являются окончательными, а иногда даже классы являются окончательными ....

44
Размышление вслух во время интервью - действительно лучшая стратегия? [закрыто]

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

44
Может ли тратить время на Programmers.SE или Stack Overflow вместо хороших книг по программированию для новичка? [закрыто]

Могу ли я тратить время (и активно участвовать) на Programmers.SE и Stack Overflow, чтобы помочь мне улучшить мои навыки программирования, хотя бы близко к тому, что поможет мне потратить время на чтение книги, такой как Code Complete 2 (которая в противном случае была бы следующей в моем списке...

44
Как правильно Google для C

Проблема с попыткой использовать Google для поиска учебников или ответов для языка программирования C состоит в том, что C не достаточно выразительное имя, чтобы сузить поиск. Даже в сочетании с такими ключевыми словами, как «Программирование» и / или «Язык», результаты в основном приводятся для C...

44
Что такое неуправляемая ошибка?

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

44
Является ли хорошей практикой называть возвращаемую переменную «результатом»? [закрыто]

Является ли хорошей практикой вызывать переменную, возвращаемую методом с именем переменной result? Например: public Zorglub calculate() { Zorglub result = [...] [...] return result; } Или я должен назвать его по типу? public Zorglub calculate() { Zorglub zorglub = [...] [...] return zorglub; } Я...

44
Какие методы помогают сохранить знания программирования? [закрыто]

Как вы помните программирование связанных вещей? Было ли у вас ощущение, что вы столкнулись с ошибкой, которая была у вас до этого прямо сейчас, несколько лет назад, и вы могли поклясться, что знали причину тогда, но теперь вы ее забыли? Работали ли вы с разбором строки xsl некоторое время назад,...

44
Шаблоны дизайна - вы их используете?

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

44
Плохо ли называть неиспользуемую переменную одним подчеркиванием?

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

44
Как я могу оценить знания кандидата в области HTML / CSS во время интервью? [закрыто]

Я пытаюсь определить несколько хороших вопросов для интервью, чтобы оценить способность людей приходить на работу по HTML / CSS, однако эта тема чрезвычайно широка, и я не уверен, какие вопросы я могу задать, чтобы правильно оценить чей-то HTML / Знание CSS. Какие вопросы я могу задать, чтобы...

44
Является ли написание программного обеспечения при отсутствии требований навыком или ситуацией, которую мне следует избегать?

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

44
Как языки повлияли на дизайн процессора? [закрыто]

Нам часто говорят, что аппаратному обеспечению не важно, на каком языке написана программа, поскольку оно видит только скомпилированный двоичный код, однако это не вся правда. Например, рассмотрим скромный Z80; его расширения к набору команд 8080 включают в себя такие инструкции, как CPIR, которые...

44
Должен ли сопровождающий github переписать автора в запросах на получение доступа?

Я не программист по профессии, но я немного программирую и использую github. Я столкнулся с неожиданной ситуацией. Я очень знаком с Git. Есть проект, в котором я обнаружил (маленькую) ошибку, которая меня затронула. Я провел день, находя и исправляя это. Я раздвоил репозиторий, зафиксировал...

44
Где разместить бизнес-логику в дизайне MVC?

Я создал простое Java-приложение MVC, которое добавляет записи через формы данных в базу данных. Мое приложение собирает данные, проверяет и сохраняет их. Это связано с тем, что данные поступают онлайн от разных пользователей. данные в основном числовые по своей природе. Теперь, когда числовые...

44
Прощение Python против Разрешения и Утиной Печати

В Python я часто слышу, что лучше «просить прощения» (перехват исключений), а не «спрашивать разрешение» (проверка типа / условия). Что касается принудительного набора утки в Python, это try: x = foo.bar except AttributeError: pass else: do(x) лучше или хуже чем if hasattr(foo, "bar"): do(foo.bar)...

44
Является ли инициализация char [] строковым литералом плохой практикой?

Я читал тему под названием «strlen vs sizeof» на CodeGuru , и в одном из ответов говорится, что «в любом случае [так] плохая практика - инициализировать [sic] charмассив со строковым литералом». Это правда или это только его (хотя и "элитный член") мнение? Вот оригинальный вопрос: #include...

44
Почему Java не делает вывод типов?

Я всегда удивлялся, почему Java не делает вывод типов, учитывая, что язык такой, какой он есть, и его виртуальная машина очень зрелая. Google Go - это пример языка с превосходным выводом типов, который уменьшает количество набираемых текстов. Есть ли какая-то особая причина того, что эта функция не...

44
Какова цель NaN бокса?

Чтение 21-го века C Я пришел к главе 6 в разделе «Маркировка исключительных числовых значений с помощью NaN» , где объясняется использование битов в мантиссе для хранения некоторых произвольных битовых комбинаций, для их использования в качестве маркеров или указателей (упоминается в книге что...

44
Чего следует ожидать младшему разработчику от старшего руководителя команды?

Отказ от ответственности: высказанные мнения являются исключительно моими собственными и не выражают взгляды или мнения моего работодателя. Я работаю в небольшой компании, в которой немногие являются разработчиками, другие - QA / Test, а 1 - менеджером. Я присоединился к этой компании 1,5 года...