கோட் அழுகையைத் தடுக்கும் ஒரு எளிய பெயரிடும் நுணுக்கம்
உங்கள் வகுப்புகளுக்கு (classes) Service, Manager, அல்லது Handler என்று பெயரிடுவதை நிறுத்துங்கள்.
இந்த பெயர்கள் தெளிவற்றவை. இவை மோசமான வடிவமைப்பிற்கு (bad design) ஒரு அனுமதியைப் போலச் செயல்படுகின்றன.
நீங்கள் ஒரு வகுப்பிற்கு UserService என்று பெயரிட்டால், பயனருடன் தொடர்புடைய எதையும் அதற்குள் வைக்க முடியும். கடவுச்சொல் மாற்றம் (password resets), பொறுப்புகளை ஒதுக்குதல் (role assignments) மற்றும் தள்ளுபடி கணக்கீடுகள் (discount calculations) போன்றவற்றை நீங்கள் சேர்க்கலாம். இவை அனைத்தும் ஒரு பயனருடன் தொடர்புடையவை என்பதால், அந்தப் பெயர் சரியாகத் தோன்றலாம்.
ஆனால் இந்தத் பணிகளுக்கு வெவ்வேறு விதமான விதிகளும் சார்புகளும் (dependencies) உள்ளன. ஒரு ஒற்றை UserService என்பது ஒரு மிகப்பெரிய குழப்பமாக மாறிவிடும்.
அதற்குப் பதிலாக 'agentive naming' முறையை முயற்சிக்கவும். ஒரு குறிப்பிட்ட செயலை விவரிக்கும் பெயர்களைப் பயன்படுத்தவும்:
• UserRegistrar • PasswordResetter • RoleAssigner • DiscountCalculator
இந்த பெயர்கள் ஒருவிதத் தடையை (friction) உருவாக்குகின்றன. ஒரு PasswordResetter திடீரென்று விலைப்பட்டியல்களை (invoices) உருவாக்க ஒரு கருவியைத் தேவைப்பட்டால், அந்தத் தவறு வெளிப்படையாகத் தெரியும். அந்தப் பெயர், மோசமான வடிவமைப்பைப் புறக்கணிக்க முடியாதபடி செய்கிறது.
UserService போன்ற ஒரு தெளிவற்ற பெயர், புரோகிராமிங்கில் உள்ள "any" வகை போன்றது. அது அனைத்தையும் ஏற்றுக்கொள்கிறது. துல்லியமான பெயர்கள் எல்லைகளை உருவாக்குகின்றன.
AI-ன் வருகையால் இது இப்போது இன்னும் முக்கியத்துவம் பெறுகிறது.
AI கோடிங் ஏஜெண்டுகள் (AI coding agents) புதிய லாஜிக்கை (logic) எங்கு வைப்பது என்பதைத் தீர்மானிக்க உங்கள் ஏற்கனவே உள்ள கோடைப் பார்க்கின்றன. நீங்கள் ஒரு AI-க்கு UserService-ஐக் கொடுத்தால், அது அதே குழப்பமான வகுப்பிலேயே புதிய அம்சங்களைச் சேர்க்கும். அது இதை மிக வேகமாகச் செய்துவிடும்.
நீங்கள் ஒரு AI-க்கு PasswordResetter-ஐக் கொடுத்தால், அது அந்த குறிப்பிட்ட எல்லைக்குள்ளேயே இருக்கும்.
உங்கள் கோட்பேஸ் (codebase) என்பது AI-க்கான ஒரு ப்ராம்ப்ட் (prompt) ஆகும். தெளிவற்ற பெயர்கள் தெளிவற்ற வடிவமைப்பையே கற்றுக்கொடுக்கின்றன.
பெயர்கள் நல்ல கட்டமைப்பை (architecture) உருவாக்குவதில்லை. அவை மோசமான கட்டமைப்பைத் தெளிவாகக் காட்டுகின்றன.
ஒவ்வொரு பொறுப்பிற்கும் (responsibility) மிகத் துல்லியமான பெயரைத் தாருங்கள்; அப்போதுதான் தொடர்பில்லாத கோட் பார்ப்பதற்குத் தவறாகத் தெரியும்.
Source: https://dev.to/caeus/one-simple-naming-trick-that-keeps-vibe-coded-code-from-rotting-5hf5
Optional learning community: https://t.me/GyaanSetuAi