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

64
Длинные методы всегда плохи? [закрыто]

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

64
Обзор кода Gerrit или модель Github для вилки и вытягивания?

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

64
Сервисный уровень против DAO - Почему оба?

Я работал с SpringMVC, Hibernate и некоторыми базами данных в примере с веб-приложением Java. Есть несколько разных, которые делают это, но в этом руководстве по интеграции с Spring 3 и hibernate с примером есть класс модели, представление (в jsp), а также классы обслуживания и dao для контроллера....

64
Почему в классах Java 8 java.time отсутствует метод getMillis ()?

Java 8 имеет совершенно новую библиотеку для дат и времени в пакете java.time, что очень приветствуется для всех, кому раньше приходилось использовать JodaTime или из-за необходимости создавать собственные вспомогательные методы обработки дат. Многие классы в этом пакете представляют временные...

64
Почему так много хешированных и зашифрованных строк заканчиваются знаком равенства?

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

64
Чем черты Rust отличаются от интерфейсов Go?

Я относительно знаком с Go, написав в нем несколько небольших программ. Руст, конечно, я менее знаком с, но следить за. Прочитав недавно http://yager.io/programming/go.html , я подумал, что лично я рассмотрю два способа обработки Generics, потому что статья, похоже, несправедливо критикует Go,...

64
Почему так плохо читать данные из базы данных, «принадлежащей» другому микросервису?

Я недавно прочитал эту прекрасную статью об архитектуре микросервиса: http://www.infoq.com/articles/microservices-intro В нем говорится, что когда вы загружаете веб-страницу в Amazon, более 100 микросервисов сотрудничают, чтобы обслуживать эту страницу. В этой статье описывается, что все...

64
Гарантирует ли покрытие пути поиск всех ошибок?

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

64
Почему отрицательный ноль важен?

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

64
Почему знак минус «-», как правило, не перегружается так же, как знак плюс?

Знак плюс +используется для сложения и конкатенации строк, но его компаньон: знак минус -, как правило, не виден для обрезки строк или какого-либо другого случая, кроме вычитания. В чем может быть причина или ограничения для этого? Рассмотрим следующий пример в JavaScript: var a = "abcdefg"; var b...

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

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

64
Как назвать что-то, когда логическим вариантом является зарезервированное ключевое слово? [закрыто]

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

64
Наличие флага, указывающего, должны ли мы выдавать ошибки

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

64
Как класс может иметь несколько методов, не нарушая принцип единой ответственности

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

63
Искусство компьютерного программирования - читать или не читать? [закрыто]

Существует множество книг о программировании, и кажется, что Code Complete в значительной степени находится в верхней части списка «обязательных к прочтению книг» большинства людей, но как насчет «Искусства компьютерного программирования » Дональда Кнута? Я занятой человек, между работой и молодой...

63
Нужно ли мне учиться в известном университете? [закрыто]

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

63
Имея дело с ужасными оценками

Недавний проект, над которым я работал, оказался сильно недооцененным архитектором. Оценка вышла как минимум на 500%. К сожалению, я был привлечен к проекту после того, как смета была подписана с заказчиком. Став старшим разработчиком, я быстро понял, что это функциональная и техническая...

63
Есть ли такая вещь, как наличие слишком большого количества частных функций / методов?

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

63
Как вы остаетесь продуктивным, когда имеете дело с крайне плохо написанным кодом?

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

63
Может ли Agile / Scrum использоваться одним или двумя разработчиками?

Все, что я читал и исследовал до этого момента, описывает, как Agile / Scrum отлично работает с командами от 4 до 6 человек, может даже больше. В моем текущем магазине у нас около 8 разработчиков или около того, но, учитывая природу объема проектов и количество отделов, которые мы поддерживаем, у...