මා දකින්නේ අප මනුෂ්යයන් සහ වැරදි වලට නැඹුරු වීම පිළිබඳ පිළිතුරු පමණි, එය ඉතා සත්යයකි ... නමුත් මම ඔබේ ප්රශ්නය වෙනත් දෘෂ්ටි කෝණයකින් දකිමි.
මම හිතන්නේ ඔබට දෝෂ රහිත වැඩසටහන් ලිවිය හැකිය , නමුත් ඒවා සාමාන්යයෙන් ඔබ දැනටමත් 10 හෝ 12 වතාවක් ලියා ඇති වැඩසටහන් වේ. 13 වන වතාවේ ඔබ මුල සිටම එකම වැඩසටහන ලියන විට, ඔබ එය කරන්නේ කෙසේදැයි දැනටමත් දන්නවා: ඔබ ගැටලුව දන්නවා, ඔබ ශිල්පීය ක්රම දන්නවා, පුස්තකාල, භාෂාව දන්නවා ... ඔබ දකිනවා එය ඔබේ මනසෙහි . සියලු රටා ඇත, සෑම මට්ටමකම.
මම ක්රමලේඛනය උගන්වන නිසා මෙය ඉතා සරල වැඩසටහන් සමඟ මට සිදු වේ. ඒවා මට සරලයි, නමුත් සිසුන්ට අමාරුයි. මම කළු පුවරුවේ බොහෝ වාර ගණනක් කර ඇති ගැටළු වලට විසඳුම් ගැන කතා නොකරමි. ඇත්ත වශයෙන්ම මම ඒවා දන්නවා. මා අදහස් කළේ මා දන්නා සංකල්ප (මා උගන්වන සංකල්ප) භාවිතයෙන් යමක් විසඳන ~ 300-පේළි වැඩසටහන් ය. මම මෙම වැඩසටහන් කිසිදු සැලසුමකින් තොරව ලියන අතර ඒවා ක්රියාත්මක වන අතර, සියලු විස්තර මා දන්නා බව මට හැඟේ, මට කිසිසේත් TDD අවශ්ය නොවේ. මට සම්පාදක දෝෂ කිහිපයක් හෝ තුනක් ලැබේ (බොහෝ විට යතුරු ලියනය සහ වෙනත් දේ) සහ එය එයයි. කුඩා වැඩසටහන් සඳහා මට මෙය කළ හැකි අතර, වඩාත් සංකීර්ණ වැඩසටහන් සඳහා සමහර අයට එය කළ හැකි බව මම විශ්වාස කරමි. මම හිතන්නේ ලිනස් ටොවල්ඩ්ස් හෝ ඩැනියෙල් ජේ. බර්න්ස්ටයින් වැනි අයට එබඳු පැහැදිලි මනසක් ඇත, ඒවා ඔබට දෝෂ රහිත කෝඩරයකට ළඟා විය හැකි සමීපතමයා වේ. ඔබ නම්දේවල් ගැඹුරින් තේරුම් ගන්න මම හිතන්නේ ඔබට එය කළ හැකිය. මට මෙය කළ හැක්කේ මා කීවාක් මෙන් සරල වැඩසටහන් සඳහා පමණි.
මගේ විශ්වාසය නම්, ඔබ සැමවිටම ඔබේ මට්ටමට වඩා ඉහළින් වැඩසටහන් කිරීමට උත්සාහ කළහොත් (මම වසර ගණනාවක් ගත කළේ ඒ ආකාරයටමයි), ඔබ ව්යාකූල වී වැරදි කරනු ඇත. ගැටලුව අවසානයේදී ඔබ තේරුම් ගත් විට ඔබේ විසඳුම ක්රියාත්මක කළ නොහැකි බව ඔබ හදිසියේම වටහාගෙන ඇති අතර, ඔබේ ගැටලුව විසඳීම වළක්වා ගැනීමට හෝ කේතය භයානක වීමට ඉඩ ඇති පරිදි වෙනස්කම් ඉතා සංකීර්ණ කිරීමට සිදු වේ. TDD මෙම අවස්ථා සඳහා වේ, මම විශ්වාස කරමි. ඔබ විසඳන ගැටලුව විසඳා නොගන්නා බව ඔබ දන්නා අතර එම නිසා ඔබට ශක්තිමත් පදනමක් ඇති බව තහවුරු කර ගැනීම සඳහා සෑම තැනකම පරීක්ෂණ කරන්න. TDD අඩි 10,000 දර්ශනය විසඳන්නේ නැත. ඔබට සෑම විටම පරිපූර්ණ පිරිසිදු කේතයක් සහිත රවුම් වල ගමන් කළ හැකිය.
කෙසේ වෙතත්, ඔබ අලුත් වන නමුත් මෙය බව දෙයක් කරන්න උත්සාහ කරන්න නම් පමණක් ඔබගේ මට්ටමේ, ඔබ ඔබේ වැඩ පරිපූර්ණ හෝ පාහේ සම්පූර්ණ විය හැකිය. ඔබේ "දැනුම මායිම" තුළ ඇති වැඩසටහන් මොනවාදැයි දැන ගැනීම ඇත්තෙන්ම දුෂ්කර යැයි මම සිතමි, නමුත් න්යාය අනුව එය ඉගෙන ගැනීමට හොඳම ක්රමයයි. මම මුල සිටම වැඩසටහන් නැවත ලියමි. සමහර අය එසේ කරති, නමුත් ඔබට බොහෝ කාලයක් හා ඉවසීමක් අවශ්ය වේ, මන්ද ඔබ තුන්වන වතාවට සුළු නොවන වැඩසටහනක් පුනරාවර්තනය කරන බැවින් පළමු වරට මෙන් ඔබ කලබල නොවනු ඇත.
එබැවින් මගේ අවවාදය නම්: ඔබට දෝෂ රහිත වැඩසටහනක් ලිවීමට හැකි වන තෙක් ඔබ යමක් තේරුම් ගනී යැයි නොසිතන්න. ඔබ ගැඹුරින් දන්නා එම සංකල්ප දෙකක් එකම වැඩසටහනකට ඒකාබද්ධ කිරීමට උත්සාහ කරන්න. මට විශ්වාසයි ඔබට එය පළමු වරට ලැබෙනු ඇතැයි. ඉතා සුළු ක්රමයක් වන්නේ සුළු නොවන මෘදුකාංග නැවත ලිවීමයි, එය පළමු වරට විශාල උත්සාහයක් දැරූ දෙයක් (මම දැන් මෙය කරන්නේ ඇන්ඩ්රොයිඩ් යෙදුම් සමඟයි). මම නැවත ආරම්භ කරන සෑම අවස්ථාවකම මම යමක් වෙනස් කිරීම හෝ දේවල් එකතු කිරීම, ටිකක් විනෝදයක් එකතු කිරීම සඳහා වන අතර, මම ඔබට වඩා හොඳ සහ හොඳ සහ හොඳ තත්වයකට පත්වන බව ඔබට පැවසිය හැකිය ... සමහර විට දෝෂ රහිත නමුත් ඇත්තෙන්ම ආඩම්බර විය හැකිය.