вторник, 29 октября 2013 г.

Форвардинг типов в .NET

Когда речь заходит об абстракциях и инкапсуляциях, то обычно у нас в голове появляется образ класса, с разделением его интерфейса и реализации. Однако мы значительно реже используем тот же самый подход для более крупных строительных блоков, таких как модули (пакеты в Java или сборки в .NET). У сборки, также как и у класса, есть открытый интерфейс (абстракция) состоящий из набора открытых типов и закрытая часть (реализация), представленная в виде внутренних (internal) типов.

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

четверг, 17 октября 2013 г.

Увлеченный программист

DISCLAIMER: В некотором роде, это рецензия на книгу Чада Фаулера “Passionate Programmer”, но, как обычно, здесь будет много мыслей, основанных не только на этой книге.

В отличие от многих современных гиков, я не программирую с 13 лет, я не участвовал в областных школьных олимпиадах по математике или информатике, мой путь получился несколько иным. В универе я изучал системы управления и автоматики, а computer science закончилась на втором курсе курсовой работой на С++. Моя карьера программиста началась на пятом курсе, когда мой хороший знакомый позвал "попробовать себя" в качестве разработчика охранных систем. Я попробовал и понял, что я нашел себя, и что именно в этом направлении я хочу прикладывать усилия для развития себя, как специалиста.

Любопытный момент произошел где-то через полгода после начала моей работы. Как-то при встрече с друзьями-одногруппниками я стал увлеченно рассказывать о чем-то новом, что недавно открыл для себя в новом мире разработки ПО. Возможно делился впечатлениями от прочтения книги Гради Буча, а может речь шла о чем-то другом, уже не помню точно. Тогда один из моих друзей, который пошел работать на год или полтора раньше меня, сказал: "Серега, ничего, через годик  тебя попустит, и ты станешь относиться к своей работе попроще". С того момента прошло уже около десяти лет, а меня так и не попустило:)

понедельник, 7 октября 2013 г.

Статьи

После наведения порядка с книгами пришло время выделить все статьи в отдельную заметку и сделать такую себе карту блога.

Ниже приведены наиболее значимые и интересные статьи, разбитые по разным тематикам, типа “Проектирования по контракту” или “C# Tips and Tricks”. При этом статьи представлены в порядке, наиболее удобном для изучения соответствующей темы, а не в хронологическом порядке. Наиболее значимые статьи, с моей точки зрения, выделены жирным.

среда, 2 октября 2013 г.

Jolt Awards: лучшие книги

Многие, наверное, слышали о такой книжно номинации, как Jolt Award. Многие известные книги являются лауреатами этой премии, что дает +100 500 к ЧСВ автора и примерно столько же к количеству скачанных экземпляров в торрентах.

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

Тем более, буквально вчера Dr.Dobbs Journal, который выдает эти призы, опубликовали лучшие книги прошлого (2012-го) года. Я прошелся по списку номинантов и победителей этой премии за всю ее историю (полтора десятка лет) и получил вот такой список.