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

71
Как фамилия Null вызывает проблемы во многих базах данных?

Я прочитал статью на BBC. Один из примеров, по их словам, заключается в том, что у людей с фамилией «Нуль» возникают проблемы с вводом своих данных на некоторых веб-сайтах. Нет объяснения по поводу ошибки, с которой они сталкиваются. Но, насколько мне известно, строка 'Null' и фактическое значение...

71
Можем ли мы предположить во время тестирования программного обеспечения, что пользователь не будет выполнять такие глупые действия с программным обеспечением?

Например: при выполнении функционального тестирования формы в веб-приложении мы будем проверять поля, вводя различные виды случайных входных значений. Как правило, мы, пользователи веб-приложения, не вводим случайные значения в поля. Так какая польза от включения всех тех тестовых случаев, которые...

70
Как люди читают большие технические книги? [закрыто]

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

70
Соглашения об именах: camelCase или underscore_case? что вы думаете об этом? [закрыто]

Я использую underscore_case около 2 лет, и недавно я перешел на camelCase из-за новой работы (использую более позднюю около 2 месяцев, и я все еще думаю, что underscore_case лучше подходит для больших проектов, где задействовано множество программистов, главным образом потому, что код легче...

70
Когда использовать абстрактные классы вместо интерфейсов с методами расширения в C #?

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

70
Не-ООП Шаблоны проектирования? [закрыто]

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

70
Стал ли какой-либо язык популярным для чего-то, кроме его предназначения?

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

70
Как были сделаны первые компиляторы?

Мне всегда интересно это, и, возможно, мне нужен хороший урок истории по языкам программирования. Но так как большинство компиляторов в настоящее время сделаны на C, как были созданы самые первые компиляторы (AKA до C) или все языки были просто интерпретированы? С учетом вышесказанного, я до сих...

70
Что такое / Есть ли правильный способ сообщить руководству, что наш код отстой?

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

70
Что означает «GPL с исключением classpath» на практике?

Похоже, что Oracle лицензирует весь свой связанный с Java открытый исходный код под лицензией GPL с исключением classpath . Из того, что я понимаю, это, кажется, позволяет объединить эти библиотеки с вашим собственным кодом в продукты, которые не должны покрываться GPL. Как это работает? Каковы...

70
Это хорошая практика, чтобы поймать проверенное исключение и выдать RuntimeException?

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

70
Эквивалент Джоэля Теста для измерения программиста [закрыто]

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

70
Это ассемблер?

В детстве я программировал на советском калькуляторе МК-61 . Он имел четыре рабочих регистра (X, Y, Z, T) и 15 регистров хранения. Программа может иметь 105 шагов. Насколько я помню, у него были такие команды: Поменять регистры X и Y Сдвиговые регистры (от Z до T, от Y до Z, от X до Y) Копировать...

70
Зачем ставить бизнес-логику в модель? Что происходит, когда у меня несколько типов хранилищ?

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

70
Когда было бы полезно использовать язык сценариев в более крупной программе?

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

70
Разумно ли настаивать на воспроизведении каждого дефекта перед его диагностикой и устранением?

Я работаю в компании по разработке программного обеспечения. У нас есть крупные корпоративные клиенты, которые внедряют наш продукт, и мы оказываем им поддержку. Например, если есть дефект, мы предоставляем исправления и т. Д. Другими словами, это довольно типичная установка. Недавно был выдан и...

70
Как вы разрабатываете программное обеспечение без критериев приемлемости?

Как вы совместно разрабатываете программное обеспечение в команде из 4-5 разработчиков без критериев приемлемости, не зная, что тестируют тестеры, и с множеством (2-3) человек, выступающих в качестве владельца продукта. Все, что у нас есть, это отрывочные «спецификации» с некоторыми снимками экрана...

70
В чем причина того, что [+ [nodiscard]] в C ++ 17 почти везде не используется в новом коде?

C ++ 17 вводит [[nodiscard]]атрибут, который позволяет программистам отмечать функции таким образом, что компилятор выдает предупреждение, если возвращаемый объект отбрасывается вызывающей стороной; один и тот же атрибут может быть добавлен ко всему типу класса. Я читал о мотивации этой функции в...

70
Приводит ли SOLID к написанию фреймворка поверх стека технологий?

Мне нравится SOLID, и я стараюсь изо всех сил использовать и применять его при разработке. Но я не могу не чувствовать, что подход SOLID превращает ваш код в код «фреймворка» - то есть код, который вы разработали бы, если бы создавали фреймворк или библиотеку для использования другими...

69
Динамически против статически типизированных языков изучения [закрыто]

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