Sobes.tech
Middle+

Чӣ гуна эҳсос мекунед дар бораи синфҳои хеле дароз, ки аз 2 то 4 ҳазор сатр коди бар мегиранд?

sobes.tech AI

Ҷавоб аз AI

Манфӣ.

Таснифҳои дароз қоидаҳои масъулияти ягона (SRP) ва қоидаҳои камтарин маълумот (Principle of Least Knowledge)-ро вайрон мекунанд. Ин ба мушкилоти зерин оварда мерасонад:

  • Дуруст хондан ва фаҳмидан душвор: Ҳаҷми калони кодиҳо логикаи синфро дарк карданро душвор месозад.
  • Дуруст нигоҳ доштан ва тағир додан душвор: Тағйир додани як қисми синф метавонад беназоратона ба дигар қисмҳо таъсир расонад ва хатогиҳоро ба вуҷуд орад.
  • Риск аз такрори коди: Функсионалият метавонад дар қисмҳои гуногуни синф такрор шавад.
  • Мушкилоти санҷиш: Санҷишҳои воҳиди синфи калон душвор ва вақтталаб мешаванд.
  • Камшавии имконияти такрорӣ истифода бурдан: Тасҳеҳ кардан ва истифодаи қисмҳои функсионалият дар ҷойҳои дигар душвор аст.

Ба назар мерасад, ки синфҳо бояд кӯтоҳ бошанд ва як вазифаи мушаххасро иҷро кунанд. Функсионалият бояд ба синфҳо ё функсияҳои хурдтар ва махсусгардондашуда тақсим карда шавад. Тағйирот дар чунин синфҳои "ҳоким" вазифаи аввалиндараҷа барои беҳтар кардани сифати коди манбаъ мебошад.

Барои тақсим кардан, метавонанд усулҳои зерин истифода шаванд:

  • Тамом кардани логикаи алоқаманд дар синфҳои алоҳида: Масалан, кор бо маълумотҳо, логикаи UI, логикаи бизнес.
  • Истифодаи намунаҳои тарҳрезӣ: MVC, MVP, MVVM, Repository, Factory ва ғайра.
  • Тақсим кардан ба функсияҳо/методҳои хурдтар: ҳар метод бояд як корро кунад.
  • Истифодаи васеъкунии (extensions) Kotlin: барои илова кардани функсионалият бе тағир додани синфи аслӣ.