Заваленная сборка AppVeyor
От: Sinix  
Дата: 01.12.16 17:28
Оценка:
1. Починил.

2. Если без матерных комментариев: ребят, что за невероятная хрень у нас с проектом?
* Коммитов — 0.
* Обещанные исправления — все забили.
* Документация по фичам — 0.
* Соглашения по общему стилю кода — не, не слышал.
* Заваленная сборка два дня лежит — никто не чешется.

По свежедобавленному ToDiagnosticString() — его надо или поправить, или в experimental.
Во-первых, using CodeJam.Mapping; в EnumerableExtensions — это вообще перебор уровня "для работы с строками тянем код из WPF".
По коду — эту штуку надо в Mapping и спрятать.
Во-вторых, как насчёт тестов / реальных сценариев использования?
UPD слона я и не заметил. TestDiagnosticString2 падает на культурах с decimal separator != '.'.
Да как так-то

Ладно фиг с ним, что тесты кривые, с самим кодом тоже не ок.

Сразу же косяки видны типа
                    if      (value == null)            values[i] = "<NULL>";
                    else if (type == typeof(decimal))  values[i] = ((decimal) value).ToString("G");
                    else if (type == typeof(DateTime)) values[i] = ((DateTime)value).ToString("yyy-MM-dd hh:mm:ss");
                    else                               values[i] = value.ToString();

остальные типы из TypeCode неплохо бы добавить, да и форматировать с инвариантной культурой тогда уж.

Ну и откровенные некрасявости типа

            foreach (var values in itemValues)
                for (var i = 0; i < lens.Length; i++)
                    lens[i] = Math.Max(lens[i], values[i].Length);

            void PrintDivider()
            {
                foreach (var len in lens)
                    stringBuilder.Append("+-").Append('-', len).Append("-");
                stringBuilder.Append("+").AppendLine();
            }

            PrintDivider();

тож надо убрать. Функция посредине кода, да ещё и с замыканиями — фу-фу-фу же.

Сорри, я понимаю, что тон резковат, но такие вещи катят для внутреннего проекта, для готовой библиотеки компонентов планку надо подтянуть
Отредактировано 02.12.2016 12:55 Sinix . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.