среда, 30 января 2019 г.

Просмотр получающегося результата при верстке в Visual Studio Code

Сегодня пробегая мимо, Саша показал как в Visual Studio Code смотреть что получается в процессе верстки. Я сильно сомневаюсь, что я буду этим заниматься регулярно, а склероз ведь не дремлет, да и вдруг кому еще пригодится. В общем, велком.

воскресенье, 20 января 2019 г.

PlanUML в Visual Studio Code. Диаграммы классов


В предыдущей статье инструкция что устанавливать и как начать работать. Сегодня поговорим про нотацию используемую в PlantUML для построения диаграмм классов. Напоминаю, что диаграмма классов (англ. Static Structure diagram) это структурная диаграмма нотации UML, демонстрирующая общую структуру иерархии классов системы, их кооперацию, атрибуты (поля), методы, интерфейсы и взаимосвязи между ними. Широко применяется не только для документирования и визуализации, но также для конструирования посредством прямого или обратного проектирования.
Итак, начинаем.

PlanUML в Visual Studio Code

В Visual Studio 2017 с удивлением обнаружил отсутствие проектов для моделирования (UML). Нет, можно запустить 2015, но держать две студии как-то не комильфо, да и при параллельном изменении диаграмм появляется проблема с потерей изменений того, кто сохранил не последним.
Озадачившись вопросом что можно использовать для построения UML диаграмм, наткнулся на PlanUML. Что это такое? Да много чего. Нотация, парсер и куча плагинов к наиболее распространенным средам разработки. Существенным достоинством данного подхода является хранение диаграмм в виде plan-text. Т.е. файл с моделью, это просто текстовый файл, при изменении файла несколькими людьми в параллели, даже если в результате коммитов он разъедется, всегда можно будет посмотреть кто и какие изменения внес и смержить их руками. Не все, к сожалению радужно. Применить PlantUML для хоть немного серьезной ArchiMate диаграммы (да, он и это умеет) не получилось. То ли я не владею дао, то ли в случаях, когда расположение элементов играет существенную роль, его применять не получится. Но не суть, мы сегодня про UML. Поэтому, устанавливаем и начинаем работать с PlantUml. Поехали.

суббота, 19 января 2019 г.

Цитата дня


Есть два метода создания программного обеспечения. Один из них — сделать программу настолько простой, что, очевидно, в ней нет недостатков. И другой, сделать приложение настолько сложным, что в нем невидно явных недостатков.

 -- T. Hoare

P.s. Да, Quick Sort был разработан сэром Чарльзом Энтони Ричард Хоар (Charles Antony Richard Hoare или Tony Hoare или C.A.R. Hoare) в 1960 году, вот только с ходу не смог найти, он в это время еще жил в Советском Союзе или уже вернулся в Великобританию.

вторник, 15 января 2019 г.

Максимально ограничивайте область Generic-а и не используйте в перегрузках методов

Вчера исправлял баг, проявил он себя весьма интересно. Но продемонстрировать его можно на достаточно простом примере:

static void Main(string[] args)
{
    Print(new[] { 1, 2, 3 });
    Console.ReadKey();
}

static void Print<T>(T t)
{
    Console.WriteLine(t);
}

static void Print<T>(IEnumerable<T> t)
{
    foreach (var item in t)
    {
        Console.WriteLine(item);
    }
}

воскресенье, 13 января 2019 г.

Что не так с качеством?

Я не очень понимаю, в какой момент произошел слом в массовом сознании, но я его наблюдаю регулярно и систематически.
Но то что слом произошел, причем совсем недавно, и не только в России, это факт. Как вам вот такие два определения качества:
1. ИСО 8402—86: Качество — совокупность свойств и характеристик продукции или услуги, которые придают им способность удовлетворять обусловленные или предполагаемые потребности потребителя.
2. ГОСТ Р ИСО 9000-2015: Качество — степень соответствия совокупности присущих характеристик объекта требованиям.
Видите разницу, под катом мои мысли на эту тему.

пятница, 11 января 2019 г.

Стандартизируй-делай-контролируй-воздействуй


Несколько лет назад я уже писал про цикл Деминга, он же PDCA. Но т.к. улучшать хаос не получится, перед тем как его запустить, придется воспользоваться другим циклом, циклом SDCA. В котором вместо планируй будет стандартизируй. Этот цикл, как и цикл PDCA входит в систему Кайдзен, про которую мы еще отдельно поговорим. Сегодня же предлагаю обсудить стандартизацию и сам цикл SDCA.