← Hariharan Umapathi's posts

மாற்றங்களே வினா, மாற்றங்களே விடை!

Hariharan Umapathi··
View Original ↗

நீங்கள் ஒரு நாள் சரியாக இல்லாத (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-ஐ பார்த்து கோபப்படாமல்,
அதன் பின்னணி கதையை புரிந்து கொண்டு,
அதை நாளுக்கு நாள் சிறப்பாக்குபவரே.

மாற்றங்களே வினா மாற்றங்களே விடை!

ஆகவே சற்று சிந்தித்து செயலாற்றுங்கள்!