ඇත්තටම, පසුගිය වසරේ මගේ හොඳම සමාලෝචන බොහෝ වෙලාවට කේත ලිවීමට පෙර ලියන ලද ලේඛන, ADR (Architecture Decision Record) මසුරු හෝ 20‑මිනිත්තු කතාබස් තුළ සිදු වුණා. එවැනි සමාලෝචන නිසා පසුගිය PR ගොඩක් පත්රිකා පමණක් වුණා.
ජූලි 19 දින The New Stack පළ කළ “Move code review before the code” ලිපියෙන් PR (Pull Request) වයස 20 වසරක් වීමත්, සමාලෝචන කේතයට පෙර කරලිය යුතු බවත් කියා තිබුණා. ඒ කියන්නේ, කේතය ලියන පෙර සැලසුම්, මොඩියුල සීමා, ලයිබ්රරී තේරීම් වැනි ප්රධාන තීරණයන් පළමු වරට ලියන ලේඛනයකින් (RFC/ADR) සමාලෝචනය කර ගැනීමට යෝජනා කරනවා.
ඇයි මේ වැදගත්? PR එක දැන් CI/CD පයිප්ලයිනයේ මධ්යස්ථානයක්. කේතය push කරලා, CI පරීක්ෂා කරලා, පසුව සමාලෝචනය, squash, merge – මේ රටාව දිගටම පවත්නා අතර, කේතය ලියන තත්පරය තුළම තීරණයන් “ඉතිරි විය” යන හැඟීමක් ඇති වෙයි. ඒ නිසා, ඕනෑම refactor, migration හෝ “කුඩා” schema වෙනස්කමක්ද වුවත්, අවසානයේදී “ඉදිරියට ගිය පසු” යන අතුරුදන් වූ ප්රශ්න උත්පන්න වේ.
Upstream සමාලෝචනය යනු, ශාඛාවක් තැනීමට පෙර සැලසුම් ලේඛනයක් (RFC/ADR) හෝ issue‑ට සම්බන්ධ design note එකක් තබා, ඒ පිළිබඳව asynchronous හෝ කෙටි call එකකින් සමාලෝචනය කිරීමයි. මේ සටහන් පසුකාලීනව grep කරගන්න පුළුවන්, ඒ නිසා CI/CD workflow එකට අමතර බරක් නොවේ. සැලසුම් ලේඛනයක් බෙදාගැනීමේ වියදම නොමැති, PR එක “මෙම සැලසුම පරීක්ෂා කරලා” කියා සලකුණු කිරීමක් පමණයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ සංවර්ධක කණ්ඩායම් බොහෝවිට කාලය සීමා, සම්පත් අඩු බව නිසා PR‑වලට බොහෝ විට “ඉක්මනින් merge” වීමට කැමති වෙති. Upstream සමාලෝචනයේ ප්රයෝජන මෙසේය:
- අදියර 1 – සැලසුම පෙර සමාලෝචනය කිරීමෙන් වැරදි තීරණය හෝ over‑engineering වළක්වයි.
- අදියර 2 – කේත diff පරීක්ෂා කිරීම තරමක් වේගවත් වේ, එසේම CI/CD ගැලපීමේ ගැටලුවක් නොමැත.
- අදියර 3 – නවකයින්ට design‑doc කියවීමේ හැකියාව වැඩිවීමෙන් ඉගෙනීමේ වේගය ඉහළ යයි.
- අදියර 4 – ආයතනික දළ ව්යාපාරික ගුණාත්මකතා (audit) සඳහා ලේඛන සොයාගැනීම පහසු වේ.
ඇත්තටම, PR එක සම්පූර්ණයෙන්ම අහෝසි කිරීමට අවශ්ය නැත. කුඩා dependency bump, සාමාන්ය refactor, test‑attached config change වැනි “ඉතා කුඩා” වෙනස්කම් PR එකේම සමාලෝචනයට සුදුසු. නමුත් විශාල architectural change එකක් නම්, upstream design‑doc එකේම පළමු සමාලෝචනය කරගැනීම වඩා ප්රයෝජනවත්.
අනාගතයේදී PR platform‑වලට design‑doc එක “first‑class artefact” ලෙස සම්බන්ධ කිරීම, AI code‑review tools‑ට intent‑based review හැකියාව ලබාදීම යන දෙකම සිදු වුවහොත්, සංවර්ධකයන්ගේ review කාලය තවත් නිහතමානීව, සාමකාමීව පවත්වා ගැනීමට හැකි වනු ඇත.
ඉදිරියේදී, කේතය ලිවීමට පෙර සැලසුම පරීක්ෂා කිරීමේ මෙම නව පියවර, ශ්රී ලංකා තාක්ෂණ කලාපයට ගුණාත්මක, කාර්යක්ෂම හා ඉගෙනුම්‑මධ්යස්ථිත සංවර්ධන පරිසරයක් ගොඩනැගීමට මඟ පෙන්වයි.