Как стать автором
Обновить
44
0
Леонид Царев @leotsarev

.NET

Отправить сообщение

Даже если функция ничего не делает, вызывайте ее, когда этого требует документация, потому что завтра она может что-то делать

Время на прочтение2 мин
Количество просмотров2.8K
Если в документации сказано, что вы должны вызвать функцию, значит, вы должны. Возможно, функция ничего не делает, но это не значит, что она ничего не будет делать в будущем.

Сегодняшний пример — функция GetEnvironmentStrings, которая возвращает все переменные окружения текущего процесса в одном блоке для изучения на досуге. Когда вы с этим закончите, предполагается, что вы используете FreeEnvironmentStrings. Так сказано в документации, и если вы это сделаете — вы в порядке (you're in good shape).
Читать дальше →
Всего голосов 64: ↑58 и ↓6+52
Комментарии29

ERRORLEVEL это не %ERRORLEVEL%

Время на прочтение2 мин
Количество просмотров99K
У командный процессора cmd.exe есть такая вещь — уровень ошибки (error level). Это код выхода (exit code) программы, которую вы запускали последней. Проверить уровень ошибки можно при помощи команды IF ERRORLEVEL.
Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии10

Как мне узнать, что каталог на самом деле — Корзина?

Время на прочтение2 мин
Количество просмотров2.3K
Вот вопрос, вызванный реальным запросом клиента:

Мне нужна функция, которая по пути определяет, является ли это частью Корзины. Я пробовал использовать SHGetSpecialFolderPath с CSIDL_BITBUCKET, но это не работает, потому что Корзина — виртуальный каталог, который является объединением Корзин со всех дисков.

Читать дальше →
Всего голосов 11: ↑7 и ↓4+3
Комментарии12

Про букву Ё

Время на прочтение3 мин
Количество просмотров22K
Хотелось бы разоблачить мифы, связанные с буквой Ё. Подчеркну, не поспорить в очередной раз, надо ее писать или нет, а просто привести факты, связанные с буквой Ё.
Читать дальше →
Всего голосов 74: ↑60 и ↓14+46
Комментарии79

DateTimeOffset(Strict)

Время на прочтение3 мин
Количество просмотров5.7K

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


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


Вот его код:


class Event {
   public string Message {get;set;}
   public DateTime EventTime {get;set;}
}

interface IEventProvider {
   IEnumerable<Event> GetEvents();
}

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


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


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

Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии25

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

Время на прочтение5 мин
Количество просмотров10K
В этой статье я расскажу, как мы написали собственные анализаторы кода и чистим с их помощью нашу кодовую базу .net от наиболее острых / частых косяков. Главный посыл — сделать это довольно просто, не бойтесь писать свои анализаторы для борьбы с именно вашими багами. Вторичный посыл — попробуйте наши анализаторы и сообщите о результатах. Полное руководство я писать не буду, их довольно много в интернете, а вот небольшой обзор, что это как и с какими проблемами я столкнулся, надеюсь, окажется вам полезным.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии27

The Noun Project: свободная иконка для каждого объекта в мире

Время на прочтение1 мин
Количество просмотров14K


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

Информация

В рейтинге
4 342-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность