-
Notifications
You must be signed in to change notification settings - Fork 0
Feedback #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feedback
Are you sure you want to change the base?
Feedback #1
Conversation
fix: fix text in LICENSE.txt
feat: release simple_add function
feat: add fun compareTo for BSNode
refactor: rename simple_add to simpleAdd
feat: add fun equals for KeyValue and BSNode
fix: change returned type of simpleContains to NodeType fix: field parent is correct now (in simpleAdd)
refactor: reformat source files
…ting pull request into main or release
struct: change struct of project for gradle building
fix: change main class in build.gradle.kts struct: delete App.kt (useless)
Signed-off-by: RoketFlame <[email protected]>
Signed-off-by: RoketFlame <[email protected]>
refactor: format Neo4j repo Signed-off-by: RoketFlame <[email protected]>
…tories) and app (GUI)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В целом, неплохо, но есть что исправить
CONTRIBUTING.md
Outdated
@@ -0,0 +1,40 @@ | |||
# Внесение правок |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Славно иметь так называемый Welcome note, где вы поблагодарите человека за потенциальный вклад в проект, а также расскажете чем именно он может помочь, например:
- Завести баг
- Предложить новую фичу
- Исправить существующий баг
- etc.
# Внесение правок | ||
|
||
## Основные советы | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Не говорите что НЕ нужно делать, лучше предоставьте примерный пайплайн человеку, который хочет контрибьютить. Можно сказать, что вы используете Github Flow, поэтому все изменения принимаются через ПР'ы, расскажите о возможных требованиях к названию ветки из мастера. Если новый код требует тестов, нужно ли добавить тесты, если изменилось API, нужно ли обновить документацию? Попросите человека проверить, что его код удовлетворяет принятому в проекте codestyle и приложите ссылку, если таковой имеется.
CONTRIBUTING.md
Outdated
1. Не используйте merge, только rebase (для сохранения линейной истории коммитов) | ||
2. Не менять чужие ветки без крайней необходимости | ||
3. Перепроверьте историю коммитов перед созданием пулл реквеста | ||
4. **Перепроверьте, что вы в правильной ветке**, никогда не коммитьте напрямую в main |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
История коммитов отлично сохраняются и при использовании merge, вероятно, тут нужен контекст. Остальные пункты немного похожи на воду.
CONTRIBUTING.md
Outdated
|
||
## Правила для пулл реквестов | ||
|
||
**НЕ ТЫКАТЬ НА ЗЕЛЕНУЮ КНОПОЧКУ `REBASE AND MERGE` БЕЗ РЕВЬЮ** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Почему вы все запрещаете? Расскажите лучше о том, как сделать ПР правильно, как сделать заголовок, какое должно быть содержание, какие устанавливать лейблы. Что за разговорный стиль, вы же пишите документ для потенциальных контрибьютеров, а тут "тыкать", "сливать"...
CONTRIBUTING.md
Outdated
|
||
Если тыкаете на зеленую кнопочку, то **убедитесь**, что на ней написано `REBASE AND MERGE` | ||
|
||
Ревью происходит в виде комметариев к пулл реквестам, обсуждения в чате команды и личном общении. No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Расскажите кого именно из команды нужно указывать в качестве ревьювера, вместо рассказа о том как проходит ревью, скажите, например, что вы постараетесь качественно заревьювить новый код, но это может занять время.
Зачастую идея ревью как раз в публичности, поэтому "обсуждения в чате команды и личном общении" звучит довольно интересно.
DOCS.md
Outdated
|
||
## Storing Trees | ||
|
||
`teemEight` provides ~~`JsonRepository`, `SqlRepository` and~~ `Neo4jRepository` to save & load trees. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В ридми написано, что .json и sql поддерживается, тут они перечеркнуты?
private val sessionFactory = SessionFactory(configuration, "repository") | ||
private val session = sessionFactory.openSession() | ||
|
||
//converts Neo4jNodeEntity to SerializableNode. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Комменты
protected val strategy: Serialization<T, NodeType, TreeType, *> | ||
) { | ||
//An extension function that converts an instance of a NodeType to a serializable | ||
//representation of a SerializableNode using the serialization strategy |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В общем, советую изучить KDoc syntax если вы так любите писать комментарии.
) | ||
} | ||
} | ||
} No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Возможно хочется увидеть для RBTree тесты с крайними случаями, например, когда удаляем ноду, которая приходилась правым сыном для красного родителя и так далее.
} | ||
|
||
@Test | ||
fun `check invariant while deleting`() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Общее ко всем тестам, вместо проверки всего и сразу лучше добавить больше проверок на специфичные случаи, например на удаление несуществующей ноды, или на удаление корня, и тд.
Было бы славно еще добавить отчет о покрытии.
fix: value in KeyValue must be not null test: update test for keyValue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Косметические моменты поправить, а так следующие наблюдения:
- Приложение оформлено довольно хорошо
- Возле кнопки "выбрать файл" хотелось бы увидеть кнопку "создать пустой", без ридми непонятно что пустой файл нужно создать самому и выбрать после
- Кнопка перехода на домашнюю страницу должна учитывать были ли сохранены изменения, а то случайно жмакнул туда и потерял весь прогресс. Обычный пайплайн в такой ситуации следующий: файл не изменился с последнего сохранения -> переходим сразу домой, если файл изменился, делаем уведомление с подтверждением, что все несохраненные изменения будут утеряны -> переходим домой / сохраняем файл и только потом идем домой
- В целом, кнопки подобраны хорошо, нативно понятно что они делают
- Все функции, зума, перемещения, изменения раскладки и тд работают хорошо, немного смущает, что вся левая часть приложения под окном ввода не прозрачная
- Кажется не работает кнопка поиска, что бы я туда не вводил ничего не происходит
- Круто было бы подкрутить логи
- Кнопка для сброса лейаута была бы кстати, раз вы все равно его сбрасываете при добавлении ноды
- Хочется видеть какие-то уведомления когда что-то происходит, условно я добавляю вершинку, появляется уведомление, что вершина добавлена. Если попробую добавить такую же, то появится уведомление, что вершина уже существует, и так со всем
- По нажатию на вершину или при наведении хочется видеть значение вершины
- Раз сейчас поддерживается только .json, зачем остальные пункты в меню?) Можно их пока убрать, чтобы не смущали. Забавно, что это информация только в ридми. Как вариант сделайте выбор по умолчанию на .json, а остальные варианты оставьте невыбираемыми с пометкой "Coming soon" или что-то в этом роде
Итого, мне понравилось, видно, что немного не хватило времени/желания, с другой стороны патч в доте сам себя не изучит.
app/src/main/kotlin/Main.kt
Outdated
// val testTree = avlRepo.loadByName("test") | ||
// println(testTree.preOrder()) // output pre-order traversal of tree | ||
// avlRepo.save("wow", tree) | ||
// println(avlRepo.getNames()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Почему это закомменчено? Это должно быть здесь?
avlRepo.save("test", tree) | ||
val testTree = avlRepo.loadByName("test") | ||
println(testTree.preOrder()) // output pre-order traversal of tree | ||
``` No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В доках обязательно нужно добавить раздел с приложением.
import java.awt.Dimension | ||
|
||
fun main() = application { | ||
Window( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Очень не хватило примеров, например .json деревьев где-нибудь в папке sample, чтобы человек мог быстренько скачать, посмотреть как работает.
👋! GitHub Classroom created this pull request as a place for your teacher to leave feedback on your work. It will update automatically. Don’t close or merge this pull request, unless you’re instructed to do so by your teacher.
In this pull request, your teacher can leave comments and feedback on your code. Click the Subscribe button to be notified if that happens.
Click the Files changed or Commits tab to see all of the changes pushed to
main
since the assignment started. Your teacher can see this too.Notes for teachers
Use this PR to leave feedback. Here are some tips:
main
since the assignment started. To leave comments on specific lines of code, put your cursor over a line of code and click the blue + (plus sign). To learn more about comments, read “Commenting on a pull request”.main
. Click a commit to see specific changes.For more information about this pull request, read “Leaving assignment feedback in GitHub”.
Subscribed: @wokuparalyzed @RoketFlame @Lesh79