-
SOLID. Что значит D
Настало время обсудить последний крайний из принципов SOLID – Dependency Inversion Principle, он же DIP, он же принцип инверсии зависимостей. В качестве примера рассмотрим постройку дома и увидим, как все пройдет в зависимости от того, используем ли мы принцип или игнорируем его. Спойлер: лучше использовать!
-
SOLID. Что значит I
I в аббревиатуре SOLID расшифровывается как Interface Segregation Principle, он же Принцип Разделения Интерфейсов. На мой взгляд, это самый простой из принципов SOLID, и сегодня мы о нем поговорим. Как обычно, разберем ISP на примере и посмотрим, что случится, если этим принципом пренебречь.
-
SOLID. Что значит L
Настало время поговорить о том, что значит L в аббревиатуре SOLID. В качестве сегодняшнего примера возьмем простейшую ситуацию. Представьте, что вы идете на совещание (или на лекцию, семинар), и вам нужна с собой тетрадь, чтобы делать заметки. Вы берете тетрадь в клетку и внезапно начинаете ловить на себе негодующие взгляды. Как оказалось, на этом конкретном совещании (лекции, семинаре) принято писать в тетрадях в линейку. Окей, через пару часов вы идете на другое совещание и берете с собой тетрадь в линейку, но, по закону подлости, здесь уже приняты блокноты формата А4 без разметки. Вы снова чувствуете себя глупо. Казалось бы, какая разница, какая у вас тетрадь – в клетку, в линейку…
-
SOLID. Что значит O
Это второй пост из цикла статей про SOLID, и сегодня мы разберем, что означает буква O в этой аббревиатуре. Как обычно, мы рассмотрим принцип на примере и поговорим о том, как он нам помогает, что было бы без него и зачем он вообще нужен.
-
SOLID. Что значит S
Давайте поговорим о том, что такое SOLID? Наверняка вы читали книгу «Чистый Код» Роберта Мартина (как это не читали???) и вам уже давно известно, что это такое. Да и в интернете есть множество статей на эту тему. Однако же, мне, как и большинству других разработчиков, постоянно приходится работать с грязным кодом, который можно улучшить. Возникает парадокс – если все знают правила написания хорошего кода, откуда берется код плохой? В следующем блоке постов я хочу кратко рассказать, как я понимаю каждый из принципов SOLID, и, что самое главное – как мне это помогает писать более понятный и чистый код. Никаких научно-занудных объяснений. Все максимально просто, кратко и на примерах. Сегодня поговорим…
-
Все-таки вам нужны юнит-тесты
В прошлом посте я говорил, что вам не нужны юнит-тесты. Но то были #вредныесоветы, а сейчас настало время разоблачений. Сегодня мы поговорим о всей важности тестирования и о том, чем грозит его отсутствие (либо неправильное применение). Я постараюсь максимально подробно описать плюсы тестирования и разобрать вредные советы из прошлого поста.
-
Зачем нужна инкапсуляция?
Недавно наткнулся на пост про отношение программистов к такой базовой штуке, как инкапсуляция. Собственно, все ее уважают и стараются соблюдать, но складывается впечатление, что не все до конца понимают, зачем оно все-таки нужно на самом деле. В этом посте попробую привести простую аналогию, чтобы у вас сразу отпало желание эту самую инкапсуляцию нарушать.
-
Хакер нашел применение Blockchain
Много в свое время говорили про Blockchain, да и сейчас наши деды иногда вспоминают это слово. Обещали, что вся эта технология поможет нам стать наконец свободным людьми и избавиться от централизованного контроля. Однако, на деле все вышло немного по-другому. Вся эта многообещающая штука скатилась с биржу типа форекс, где серьезные дядьки с большими портфелями могут менять доллары на токены и торговать ими. А еще где-то была кафешка, продающая кофе за биткоины. Но самое лучшее применение blockchain изобрел один (а может, и не один) мамкин хакер, и здесь я хочу рассказать, каков же его взгляд на применение этой замечательной технологии.
-
Жуткая история одного пользователя
На днях я столкнулся с весьма загадочным и мистическим явлением в лучших традициях сериала «Секретные материалы». Аж кровь в жилах застыла. В общем, удалили пользователя из системы, а душа его осталась плутать по закоулкам и пугать все входящие API запросы. Да так, что сторонние системы, которые эти запросы слали, в ужасе шарахались и бросали NullPointerException. Если не хотите спать сегодня ночью, то смело заглядывайте сюда и узрите сию жуткую историю.
-
Как я увеличил свою зарплату в 40 раз, работая программистом
Есть множество историй о том, как люди меняли свою жизнь и уходили в IT. Они оставляли нелюбимую работу, осваивали программирование и устраивались в крупные компании на неприличную зарплату. Но эта статья не о том. Я сразу устроился в IT компанию и планомерно, целенаправленно шел к своей цели. Собственно, в этой статье я хочу рассказать о своем пути в области IT. На момент написания этого текста он длится уже 10 лет и еще отнюдь не завершен. Я начинал как QA инженер (читай – тестировщик) и мечтал освоить программирование еще будучи студентом. Сейчас я работаю разработчиком на довольно крупную американскую компанию, при этом не выходя из дома. Все цифры для интересующихся –…