കോഡ് നശിക്കുന്നത് (Code Rot) തടയാൻ ഒരു ലളിതമായ പേരിടൽ വിദ്യ
നിങ്ങളുടെ ക്ലാസുകൾക്ക് Service, Manager, അല്ലെങ്കിൽ Handler എന്നിങ്ങനെയുള്ള പേരുകൾ നൽകുന്നത് നിർത്തുക.
ഈ പേരുകൾ അവ്യക്തമാണ്. അവ മോശം ഡിസൈനുകൾക്ക് അനുമതി നൽകുന്നതുപോലെ പ്രവർത്തിക്കുന്നു.
നിങ്ങൾ ഒരു ക്ലാസിന് UserService എന്ന് പേരിട്ടാൽ, ഉപയോക്താവുമായി (user) ബന്ധപ്പെട്ട എന്തിനും അത് ഉപയോഗിക്കാം. പാസ്വേഡ് റീസെറ്റ് ചെയ്യുക, റോൾ നൽകുക, ഡിസ്കൗണ്ട് കണക്കാക്കുക എന്നിവയെല്ലാം ഇതിൽ ഉൾപ്പെട്ടേക്കാം. ഇവയെല്ലാം ഒരു ഉപയോക്താവുമായി ബന്ധപ്പെട്ടതായതുകൊണ്ട് ആ പേര് ശരിയാണെന്ന് തോന്നും.
എന്നാൽ ഈ ജോലികൾക്ക് വ്യത്യസ്തമായ നിയമങ്ങളും ഡിപെൻഡൻസികളും (dependencies) ഉണ്ട്. അങ്ങനെ ഒരു UserService വലിയൊരു കുഴപ്പമായി (mess) മാറുന്നു.
പകരം 'agentive naming' പരീക്ഷിച്ചു നോക്കൂ. ഒരു പ്രത്യേക പ്രവർത്തിയെ വിവരിക്കുന്ന പേരുകൾ ഉപയോഗിക്കുക:
• UserRegistrar • PasswordResetter • RoleAssigner • DiscountCalculator
ഈ പേരുകൾ ഒരു തടസ്സം (friction) സൃഷ്ടിക്കുന്നു. ഒരു PasswordResetter പെട്ടെന്ന് ഇൻവോയ്സുകൾ തയ്യാറാക്കാൻ ഒരു ടൂൾ ആവശ്യപ്പെട്ടാൽ, ആ തെറ്റ് പെട്ടെന്ന് മനസ്സിലാകും. മോശം ഡിസൈൻ അവഗണിക്കാൻ കഴിയാത്ത രീതിയിൽ ആ പേര് നിങ്ങളെ ഓർമ്മിപ്പിക്കും.
UserService പോലുള്ള അവ്യക്തമായ ഒരു പേര് പ്രോഗ്രാമിംഗിലെ "any" ടൈപ്പ് പോലെയാണ്. അത് എന്തിനെയും സ്വീകരിക്കുന്നു. കൃത്യമായ പേരുകൾ അതിർവരമ്പുകൾ (boundaries) സൃഷ്ടിക്കുന്നു.
AI വന്നതോടെ ഇത് കൂടുതൽ പ്രധാനപ്പെട്ട ഒന്നായി മാറിയിരിക്കുന്നു.
പുതിയ ലോജിക് എവിടെ ചേർക്കണമെന്ന് തീരുമാനിക്കാൻ AI കോഡിംഗ് ഏജന്റുകൾ നിങ്ങളുടെ നിലവിലുള്ള കോഡ് പരിശോധിക്കുന്നു. നിങ്ങൾ ഒരു AI-ക്ക് UserService നൽകിയാൽ, അത് ആ കുഴപ്പപ്പെട്ട ക്ലാസ്സിലേക്ക് തന്നെ പുതിയ ഫീച്ചറുകൾ ചേർ