நீங்கள் ஒரு நாள் சரியாக இல்லாத (messy) code-ஐ கண்டிப்பாக நிச்சயமாக ஏதோ ஒரு வழியில் பெறுவீர்கள்.
அதை எழுதிய developer-ஐ கேலி செய்ய வேண்டாம். சில சமயங்களில் அது நீங்கள் எழுதியதாக கூட இருக்கலாம்.
பல developers ஒரு file-ஐத் திறந்தவுடன்,
“இந்த குப்பையை யார் எழுதியது ? எல்லாத்தையும் rewrite பண்ணிடலாம்” என்று சொல்வதை நான் பார்த்திருக்கிறேன்.
ஆனால் Context மிகவும் முக்கியம்.
அந்த நிர:
- 2 மணி நேரத்தில் delivery செய்ய வேண்டிய சூழலில் எழுதப்பட்டிருக்கலாம்.
- அந்த காலத்தில் hooks, modern tools எதுவுமே இல்லாமல் இருக்கலாம்.
- ஒரே developer, மூன்று பேருடைய வேலையையும் தனியாகச் செய்து கொண்டிருக்கலாம்.
அதனால் code-ஐ மட்டும் பார்த்து தீர்ப்பு சொல்லக் கூடாது.
இதற்கு ஒரு நல்ல விதி இருக்கிறது — Boy Scout Rule.
“நீ கண்ட code-ஐ விட,
அதை கொஞ்சமாவது சுத்தமாக்கி விட்டு போ.”
Day 1-லேயே உலகத்தையே மறு உருவாக்கம்(rewrite) செய்ய வேண்டிய அவசியம் இல்லை.
பல சமயங்களில் அது தேவையில்லாமல் கூட இருக்கலாம்.
வேலை செய்யும் இடங்களில்,
சின்ன சின்ன refactor-களை செய்து,
code-ஐ மெதுவாக நல்ல நிலையில் கொண்டு வருவது தான் புத்திசாலித்தனம் அதுதான் எளிமையாக செய்யக்கூடியதும் கூட.
இன்னொரு முக்கியமான கருத்து — Chesterton’s Fence.
“ஒரு வேலி ஏன் போடப்பட்டது என்று தெரியாமல்,
அதை இடிக்கக் கூடாது.”
அந்த logic, அந்த hack, அந்த workaround —
அது ஏதோ ஒரு காரணத்துக்காக அங்கே இருக்கலாம்.
சில சமயங்களில் காரணங்கள் கூட குறிப்பிடப்பட்டிருக்காது.
அந்த காரணத்தை புரிந்து கொள்ளாமல் மாற்றினால்,
புதிய பிரச்சனைகள் உருவாகும்.
இறுதியாக ஒரு சிந்தனை:
நீங்கள் எதைக் அதிகம் ரசிக்கிறீர்கள்?
இருக்கும் code-ஐ புரிந்து, மெதுவாக மேம்படுத்துவதையா?
அல்லது
புதிதாக, greenfield project-ஐ ஆரம்பிப்பதையா?
இரண்டும் developer வாழ்க்கையின் ஒரு பகுதி தான்.
ஆனால் நல்ல developer என்பவர்,
கெட்ட code-ஐ பார்த்து கோபப்படாமல்,
அதன் பின்னணி கதையை புரிந்து கொண்டு,
அதை நாளுக்கு நாள் சிறப்பாக்குபவரே.
மாற்றங்களே வினா மாற்றங்களே விடை!
ஆகவே சற்று சிந்தித்து செயலாற்றுங்கள்!