Conversation
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
Назвали бы заодно его как-то по-человечески. На английском он Trie, а транслитом нельзя писать (если что, C# позволяет имена русскими буквами, но это адово неудобно).
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
| private BorElement root = new BorElement(); | |
| private BorElement root = new(); |
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
Кажется, можно доказать, что root никогда не может быть null, и nullability-анализ это может проверить. Стоит считать этот факт инвариантом и убрать все проверки.
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
Нет, null нельзя добавлять в словарь, пусть оно с ArgumentNullException в этом случае падает. Пустую строку можно, но это другое.
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
Почему бы не хранить в walker.Next символы, а не непонятные int-ы?
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
| if (isDeleted == true) | |
| if (isDeleted) |
Не надо сравниваться с булевыми константами, == true — это тождественная функция в булевой алгебре
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
Это лучше через тернарный оператор переписать
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
| public int HowManyStartsWithPrefix(String prefix) | |
| public int HowManyStartsWithPrefix(string prefix) |
Это одно и то же, но лучше использовать ключевое слово, обозначающее тип, а не имя типа.
NewBorForCI/NewBorForCI/Bor.cs
Outdated
There was a problem hiding this comment.
По-английски это звучит как "Моя твоя башка дубина бить". "Размер" — "Size", "Словарь" — "Dictionary", значит "РазмерСловаря" — "SizeDictionary"? :)
NewBorForCI/TestsBor/TestsBor.cs
Outdated
There was a problem hiding this comment.
There was a problem hiding this comment.
А строка, кстати, не обязательна — в чём проблема должно быть очевидно из имени теста.
Bor, 2 попытка