• DateTimeOffset(Strict)

      Сегодня утром мой приятель kirillkos столкнулся с проблемой.


      Проблемный код


      Вот его код:


      class Event {
         public string Message {get;set;}
         public DateTime EventTime {get;set;}
      }
      
      interface IEventProvider {
         IEnumerable<Event> GetEvents();
      }

      И дальше много-много реализаций IEventProvider, достающие данные из разных таблиц и баз.


      Проблема: во всех этих базах все в разных временных зонах. Соответственно, при попытке вывести события на UI все ужасно перепутано.


      Слава Хейлсбергу, у нас есть типы, пусть они спасут нас!

      Читать дальше →
    • Борьба с хардкодами при помощи статических анализаторов С#

        В этой статье я расскажу, как мы написали собственные анализаторы кода и чистим с их помощью нашу кодовую базу .net от наиболее острых / частых косяков. Главный посыл — сделать это довольно просто, не бойтесь писать свои анализаторы для борьбы с именно вашими багами. Вторичный посыл — попробуйте наши анализаторы и сообщите о результатах. Полное руководство я писать не буду, их довольно много в интернете, а вот небольшой обзор, что это как и с какими проблемами я столкнулся, надеюсь, окажется вам полезным.
        Читать дальше →
      • The Noun Project: свободная иконка для каждого объекта в мире



          Создатели проекта The Noun Project поставили целью собрать пиктограммы для всех объектов в мире. Коллекцию по мере сил пополняют десятки дизайнеров из разных стран. Все иконки публикуются в формате SVG, под лицензией Creative Commons Attribution 3.0 (CC BY) или Public Domain, разбиты на тематические категории, есть поиск на русском языке.