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

104
Безопасность API REST Сохраненный токен против JWT против OAuth

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

104
Делает ли TDD защитное программирование избыточным?

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

104
Почему батуты работают?

Я делал некоторый функциональный JavaScript. Я думал, что оптимизация Tail-Call была реализована, но, как оказалось, я ошибался. Таким образом, я должен был научить себя прыжкам на батуте . Немного почитав здесь и в других местах, я смог освоить основы и сконструировал свой первый батут: /*not the...

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

Следующий комментатор пишет : Микросервисы переносят вашу организационную дисфункцию с проблемы времени компиляции на проблему времени выполнения. Этот комментатор расширяет тему, говоря: Функция не ошибка. Проблема времени выполнения => проблемы с продуктом => более сильная и быстрая...

104
Что такое домен?

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

103
Разве изобретать колесо действительно так плохо?

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

103
(Почему) важно, чтобы модульный тест не проверял зависимости?

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

103
Важность хобби проектов [закрыто]

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

103
Превращает ли Scrum активных разработчиков в пассивных разработчиков?

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

103
В чем разница между папками «lib» и «vendor»?

Что касается иерархии исходных папок, всегда есть некоторые общие функции, такие как src, docили testпапки, которые имеют довольно простое для понимания содержимое. Тем не менее, я понял, что в больших проектах есть libи vendorпапки, и папки, хотя я всегда думал, что они одинаковы, поскольку их...

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

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

103
Тестируемый код лучше кода?

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

103
К каким ошибкам приводят утверждения «goto»? Есть ли исторически значимые примеры?

Я понимаю, что за исключением разрыва циклов, вложенных в циклы; это gotoутверждение уклоняется и осуждается как склонный к ошибкам стиль программирования, который никогда не будет использоваться. Alt Text: «Нил Стивенсон считает, что называть его ярлыки« деньгами »мило». См. Оригинальный комикс по...

103
Разве принципы асинхронного / ожидающего использования в C # не противоречат понятиям хорошей архитектуры и многоуровневой абстракции?

Этот вопрос касается языка C #, но я ожидаю, что он охватит другие языки, такие как Java или TypeScript. Microsoft рекомендует лучшие практики по использованию асинхронных вызовов в .NET. Среди этих рекомендаций давайте выберем две: измените сигнатуру асинхронных методов, чтобы они возвращали Task...

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

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

102
Лучшие практики для совместного использования крошечных фрагментов кода между проектами

Я всегда стараюсь строго следовать принципу СУХОЙ на работе; каждый раз, когда я повторяю код из-за лени, он кусается позже, когда мне нужно сохранить этот код в двух местах. Но часто я пишу небольшие методы (возможно, 10–15 строк кода), которые необходимо повторно использовать в двух проектах,...

102
Должен ли я следовать плохому стилю кодирования, чтобы просто следовать установленным правилам на своем рабочем месте?

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

102
В какой момент краткость перестает быть добродетелью?

Недавнее исправление ошибки требовало от меня просмотра кода, написанного другими членами команды, где я нашел это (это C #): return (decimal)CostIn > 0 && CostOut > 0 ? (((decimal)CostOut - (decimal)CostIn) / (decimal)CostOut) * 100 : 0; Теперь, если есть веская причина для всех этих...

102
Можно ли использовать метапрограммирование, хотя не все мои коллеги это понимают?

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