Сообщение TODOs от 17.07.2016 9:26
Изменено 22.09.2016 10:46 Sinix
Краткий список штук, которые неплохо бы добавить в CodeJam. У самого руки не доходят, перфтесты допиливаю
1. Методы Code.BugIf() / DebugCode.BugIf(). Смысл такой: регулярно в процессе разработки закладываешься на какой-то факт, если надежды обломались — всё, приплыли.
В общем, тот же Code.AssertState, но вина не пользователя API, а самого разработчика. Почему не использовать сам AssertState? Чтоб проще было отличать.
2. GroupWhile. Тот же GroupBy, но с учётом порядка значений, как минимум две перегрузки — по предикату и по ключу группировки. Примеры сценариев:
http://stackoverflow.com/a/22415704/318263
http://stackoverflow.com/a/11311070/318263
https://msdn.microsoft.com/en-us/library/cc138361.aspx
3. Что-то типа
4. EnumCode.Xxx() — ассерты для энумов. Полный аналог Code, содержит методы-ассерты для всех методов из EnumHelper, исключения в классе EnumCodeExceptions. Нудятина страшная, наверно сам сделаю.
5. Мелкий баг в MinBy (в похожих методах тоже может быть, не проверял). Для значений с null-ключом побеждает последний элемент, для всех остальных значений — первый.
UPD. 6. Поправить ConcurrentLazyDictionary. Подробнее — см реквест
Вроде всё, остальное позже докидаю.
1. Методы Code.BugIf() / DebugCode.BugIf(). Смысл такой: регулярно в процессе разработки закладываешься на какой-то факт, если надежды обломались — всё, приплыли.
В общем, тот же Code.AssertState, но вина не пользователя API, а самого разработчика. Почему не использовать сам AssertState? Чтоб проще было отличать.
2. GroupWhile. Тот же GroupBy, но с учётом порядка значений, как минимум две перегрузки — по предикату и по ключу группировки. Примеры сценариев:
http://stackoverflow.com/a/22415704/318263
http://stackoverflow.com/a/11311070/318263
https://msdn.microsoft.com/en-us/library/cc138361.aspx
3. Что-то типа
var baseTypesAndSelf = Algorithms.WhileNotNull(type, t => t.BaseType).ToArray();
4. EnumCode.Xxx() — ассерты для энумов. Полный аналог Code, содержит методы-ассерты для всех методов из EnumHelper, исключения в классе EnumCodeExceptions. Нудятина страшная, наверно сам сделаю.
5. Мелкий баг в MinBy (в похожих методах тоже может быть, не проверял). Для значений с null-ключом побеждает последний элемент, для всех остальных значений — первый.
UPD. 6. Поправить ConcurrentLazyDictionary. Подробнее — см реквест
Автор: LWhisper
Дата: 11.08.16
. Пример реализации — тынц.Дата: 11.08.16
Вроде всё, остальное позже докидаю.
Краткий список штук, которые неплохо бы добавить в CodeJam. У самого руки не доходят, перфтесты допиливаю
TODO:
* Хелперы для ФС: Перебор файлов с учётом ACL
* GroupWhile. Тот же GroupBy, но с учётом порядка значений, как минимум две перегрузки — по предикату и по ключу группировки. Примеры сценариев:
http://stackoverflow.com/a/22415704/318263
http://stackoverflow.com/a/11311070/318263
https://msdn.microsoft.com/en-us/library/cc138361.aspx
* Что-то типа
* Мелкий баг в MinBy (в похожих методах тоже может быть, не проверял). Для значений с null-ключом побеждает последний элемент, для всех остальных значений — первый.
DONE:
* Методы Code.BugIf() / DebugCode.BugIf(). Смысл такой: регулярно в процессе разработки закладываешься на какой-то факт, если надежды обломались — всё, приплыли.
В общем, тот же Code.AssertState, но вина не пользователя API, а самого разработчика. Почему не использовать сам AssertState? Чтоб проще было отличать.
* EnumCode.Xxx() — ассерты для энумов. Полный аналог Code, содержит методы-ассерты для всех методов из EnumHelper, исключения в классе EnumCodeExceptions. Нудятина страшная, наверно сам сделаю.
* UPD. Поправить ConcurrentLazyDictionary. Подробнее — см реквест
TODO:
* Хелперы для ФС: Перебор файлов с учётом ACL
Автор: Jack128
Дата: 17.07.16
Дата: 17.07.16
* GroupWhile. Тот же GroupBy, но с учётом порядка значений, как минимум две перегрузки — по предикату и по ключу группировки. Примеры сценариев:
http://stackoverflow.com/a/22415704/318263
http://stackoverflow.com/a/11311070/318263
https://msdn.microsoft.com/en-us/library/cc138361.aspx
* Что-то типа
var baseTypesAndSelf = Algorithms.WhileNotNull(type, t => t.BaseType).ToArray();
* Мелкий баг в MinBy (в похожих методах тоже может быть, не проверял). Для значений с null-ключом побеждает последний элемент, для всех остальных значений — первый.
DONE:
* Методы Code.BugIf() / DebugCode.BugIf(). Смысл такой: регулярно в процессе разработки закладываешься на какой-то факт, если надежды обломались — всё, приплыли.
В общем, тот же Code.AssertState, но вина не пользователя API, а самого разработчика. Почему не использовать сам AssertState? Чтоб проще было отличать.
* EnumCode.Xxx() — ассерты для энумов. Полный аналог Code, содержит методы-ассерты для всех методов из EnumHelper, исключения в классе EnumCodeExceptions. Нудятина страшная, наверно сам сделаю.
* UPD. Поправить ConcurrentLazyDictionary. Подробнее — см реквест
Автор: LWhisper
Дата: 11.08.16
. Пример реализации — тынц.Дата: 11.08.16