🗒️ Як зрозуміти як працює система для того, щоб її описати? Частина 2
❓Для того, щоб зрозуміти як працює будь-яка технічна система, ви повинні розібратися в наступних речах:
- З яких складових частин вона складається
- Як ці частини взаємодіють між собою?
- Які стани цих частин бувають
- Як вони працюють в не звичайних умовах: коли даних немає чи сталася якась помилка?
- Чи є якісь чисельні ліміти у цих об'єктів? Кількість символів у формі. Кількість контактів на сторінці. Якщо кількість об'єктів більша, як користувач може передивитися їх усі? Якщо кількість більша ніж ліміт, що станеться?
Коли ви аналізуєте чи робите архітектуру будь-якого проєкту це найважливіші речі. Це саме ті речі, котрі дадуть вам комплексне уявлення про роботу системи, і що саме описувати.
⚙️Усі ці питання добре накладаються на усю систему в цілому, так і на окремі її частини. Наприклад:
- Якась фронтендна фіча складається з таких і таких частин. Вони повʼязані між собою таким чином, тут у нас буває такий empty state компонента, а тут такі повідомлення о помилках в таких випадках.
- Якийсь бекендний ендпоїнт чи який алгоритм? Складається з таких частин / етапів, таким чином вони повʼязані між собою: також використовується такий метод який ми не покрили у цьому документі. Коли даних немає повертає таку інформацію або робіть ось це, в інших випадках робить ось так. Якщо якийсь партнер не повертає дані робить ось так.
Як ви бачите зараз я тільки накидав якийсь безсенсовий приклад, але підставивши туди свої дані ви вже отримаєте опис з достатньо великою кількістю edge case'ів і варіантів що можна описати.
🗯️️️️️️ Чим більше таких питань і допущень ви будете тримати у голові тим краще ви будете розуміти як працює система, так і знаходити якісь недоліки з якими можуть зустрітися ваші користувачі.А ви які питання тримаєте у голові поки працюєте з складними системами?