-
Notifications
You must be signed in to change notification settings - Fork 174
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
Add new example - SpotifyVoiceCommander #704
base: master
Are you sure you want to change the base?
Conversation
👷 Deploy request for pr-fsd pending review.Visit the deploys page to approve it
|
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.
Привет, спасибо за пример! Извини, что так долго тянем с ревью, просто я не знаю C#, из-за этого сложно проверить этот проект на наличие штук типа кросс-импортов)
Из того, что я понял, у меня есть следующие замечания:
- Заметил, что "SpeechRecognizer" — это и сущность, и фича. Обычно так не бывает, потому что у этих слоев разная семантика — в entities лежат бизнес-сущности, т.е. какие-то штуки или концепты из реального мира, с которыми взаимодействует приложение, а в features лежат всякие действия, которые юзеры могут делать в приложении, чтоб достичь чего-то ценного для них (например, коммент оставить).
- Разделение на сегменты в проекте не очень консистентное. Где-то сегменты есть, например, в Shared, а где-то их нет, например, в Pages.
- В Shared есть сегмент Helpers, такие сегменты создавать не рекомендуется. Вот тут есть объяснение этого правила в нашем линтере, там описано, почему — https://github.com/feature-sliced/steiger/tree/master/packages/steiger-plugin-fsd/src/segments-by-purpose
Еще есть вопросики, просто чтоб мне лучше понимать специфику создания приложений по FSD на шарпе:
- Что за файл
Configure.cs
в папке каждого слоя? - В C# есть какой-то способ описать паблик апи, чтоб не лезть в глубину слайса, как, например, тут:
а сделать просто
using SpotifyVoiceCommander.Maui.Entities.SpeechRecognizer.Store.Actions;
using SpotifyVoiceCommander.Maui.Entities.SpeechRecognizer;
Привет. Про замечания:
По вопросам:
P.S. Пересоздал сообщения, ибо случайно отправил с рабочего аккаунта)) |
Я имел в виду, что и на том, и на другом слое есть слайс с названием Спасибо за ответы на вопросы, стало понятнее. А можно ссылочку на строчку кода, где, например, используется какой-то объект, зарегистрированный через Configure.cs? |
Да, с этим надо бы поосторожнее, он хорош как поисковый движок по чату, когда смотришь References, а сами ответы могут вполне быть чушью :D Я бы тут порекомендовал не делать SpeechRecognizer сущностью, и весь код, связанный с распознанием речи, оставить в фиче RecognizeSpeech |
Пример с использованием Blazor, Maui, Fluxor и MudBlazor для управления Spotify с помощью голоса.
https://github.com/Metalvast/SpotifyVoiceCommander