Middle+
Чӣ гуна эҳсос мекунед дар бораи синфҳои хеле дароз, ки аз 2 то 4 ҳазор сатр коди бар мегиранд?
sobes.tech AI
Ҷавоб аз AI
Манфӣ.
Таснифҳои дароз қоидаҳои масъулияти ягона (SRP) ва қоидаҳои камтарин маълумот (Principle of Least Knowledge)-ро вайрон мекунанд. Ин ба мушкилоти зерин оварда мерасонад:
- Дуруст хондан ва фаҳмидан душвор: Ҳаҷми калони кодиҳо логикаи синфро дарк карданро душвор месозад.
- Дуруст нигоҳ доштан ва тағир додан душвор: Тағйир додани як қисми синф метавонад беназоратона ба дигар қисмҳо таъсир расонад ва хатогиҳоро ба вуҷуд орад.
- Риск аз такрори коди: Функсионалият метавонад дар қисмҳои гуногуни синф такрор шавад.
- Мушкилоти санҷиш: Санҷишҳои воҳиди синфи калон душвор ва вақтталаб мешаванд.
- Камшавии имконияти такрорӣ истифода бурдан: Тасҳеҳ кардан ва истифодаи қисмҳои функсионалият дар ҷойҳои дигар душвор аст.
Ба назар мерасад, ки синфҳо бояд кӯтоҳ бошанд ва як вазифаи мушаххасро иҷро кунанд. Функсионалият бояд ба синфҳо ё функсияҳои хурдтар ва махсусгардондашуда тақсим карда шавад. Тағйирот дар чунин синфҳои "ҳоким" вазифаи аввалиндараҷа барои беҳтар кардани сифати коди манбаъ мебошад.
Барои тақсим кардан, метавонанд усулҳои зерин истифода шаванд:
- Тамом кардани логикаи алоқаманд дар синфҳои алоҳида: Масалан, кор бо маълумотҳо, логикаи UI, логикаи бизнес.
- Истифодаи намунаҳои тарҳрезӣ: MVC, MVP, MVVM, Repository, Factory ва ғайра.
- Тақсим кардан ба функсияҳо/методҳои хурдтар: ҳар метод бояд як корро кунад.
- Истифодаи васеъкунии (extensions) Kotlin: барои илова кардани функсионалият бе тағир додани синфи аслӣ.