Conversation
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
cs/Markdown/TokensUtils/Token.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
токенайзер будет проходить по строке и разбивать ее на токены
а рендерлайн будет брать эти токены и использовать их, чтобы собрать html
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Логически они выполняют разную суть. RenderFragment будет рендерить по определенным правилам объекты, например, в будущем могут добавиться методы для рендера блока. А RenderText будет рендерить весь текст, т.е. проходить по каждой строке и применять определенный рендер. Лучше наверно разделить на три метода и оставить в одном интерфейсе и одном классе
…кторинг в классе Token.cs
… с обработкой _ и __
…вина тестов падают, т.к. логику не до конца реализована
cs/Markdown/Dto/Tag.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
cs/Markdown/Dto/Token.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| @@ -0,0 +1,11 @@ | |||
| namespace Markdown.Dto; | |||
|
|
|||
| public enum TokenType | |||
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Нет)
Забыл удалить, переделывал код
|
|
||
| namespace Markdown.Tests; | ||
|
|
||
| public class MarkdownTests |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
- Как будто не хватает теста на "Слово"
Имел ввиду "_ _ _ Слово _ _ _", но в гитхабе маркдаун поддерживается, поэтому в этот раз пишу с пробелами)
There was a problem hiding this comment.
Да, тесты падают, т.к. пока не вся логика рендера сделана.
Тесты переделаю наверно с генерилкой позже, как в предыдущей домашке
И добавлю новые тесты в том числе
There was a problem hiding this comment.
Посмотрел тесты. Тест на производительность у меня не проходит. Давай немного изменим подход? Подойдем к этому как к замеру сложности алгоритма. У нас есть длина входного слова и выходное время (примерное). Как мы можем примерно оценить сложность исходя из этих данных? Как поймем, что для 10_000 элементов результат в <1сек. приемлем?
cs/Markdown/Tests/MarkdownTests.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
cs/Markdown/Tests/MarkdownTests.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
cs/Markdown/Tests/MarkdownTests.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
первый рендер нужен для проверки корректности работы, а второй для производительности, также первый вызов может содержать доп. расходы, и как раз таки тест на производительность мы вызываем после, так скажем, прогрева
There was a problem hiding this comment.
У тебя два разных результата, один из которых может подставится на место второго. Почему сначала не проделать действие, а потом произвести все проверки?
There was a problem hiding this comment.
- Посмотри в сторону AAA паттерна (Act, Arrange, Assert)
cs/Markdown/Tests/MarkdownTests.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
cs/Markdown/TokensUtils/TagRender.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
…мапинг для специальных символов и немного изменил Tokenizer.cs, в связи с изменениями с Token.cs
…реписал тесты на testsource и добавил новый тест.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Забыл ответить, тег родительский так, как у они могут идти в перемешку и нужно знать родительский тег, чтобы эту логику соблюдать, например _Вот т_ак. И у первого _ будет родительский __
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
cs/Markdown/Dto/Token.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
- По поводу InsideWord. Как насчет добавить Position из Begin, Inside и End?
….cs не record классами с логикой. Благодаря логике в Tag.cs рендер работает быыстрее, т.к. не нужно делать долгие проверки на decimal.tryparse и добавление контента
… чтобы следовать SRP
…сколько замеров времени на разное количество строк
cs/Markdown/Tests/MarkdownTests.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
cs/Markdown/Dto/Token.cs
Outdated
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
…le, исправил замечания по тесту
… и классы наследники.
@Luvr681