Так исторически сложилось, что на текущей моей работе весь стек бекенда состоял изначально из GoLang и .NET. Так начинался наш проект, к слову, абсолютно для меня экспериментальный — новый виток карьеры (в профессиональном плане). До этого момента я был полностью и целиком desktop-разработчиком под Windows (а ещё до этого десктоп QT и Linux). Я не…
-
Антипаттерн №2 — Спагетти-код (Spaghetti code)
Когда-то давно, когда компьютеры были большими, а программы маленькими — существовал единственный возможный способ написания кода. При помощи интерпретатора (если повезёт) выполнялась какая-либо вбиваемая программа. Строчка-за-строчкой. Людей, которые писали бы подобные листинги было невероятно мало, мирового опыта и понимания КАК НАДО ещё не было сформировано — ни методологий и никаких правил. Каждый был творцом собственного…
-
Антипаттерн №1 — Магическое число (Magic Number)
Из всего многообразия грехов разработки магическое число (magic number) — это, пожалуй, самый распространённый антипаттерн. Греховность его можно оценить как лёгкую, т.к., в целом, данный методологический изъян лёгок в обнаружении и устранении. Магическое число — это оперирование явно указанными в коде коэффициентами (как правило целочисленными), значение и смысл которых знает только автор программы. Как правило,…
-
Интеграция GIT и Visual Studio
Не представляю, как мы когда-то все жили без GIT. Подобный интерфейс взаимодействия с кодом рано или поздно должен был произойти и, нам повезло, эволюционно у нас появился GIT. Инструмент, который полностью поменял и перевернул мир разработки, вынесший написание кода и работу с листингом на кардинально новый, более высокий уровень. Разработка вышла из локальных групп и…
-
Реализация очереди при помощи массива на языке C#
Совсем недавно я рассказывал про базовую структуру данных очередь. И, как обещал, от теории переходим к практике. Сегодня хочу показать как реализовать алгоритм очереди нативными средствами языка C#. Замечу, что собственная реализация подобных базовых структур, как правило, избыточный овер инжиниринг и не нужный велосипед. Всё уже давно реализовано, наверное, для всех платформ и на всех…