යාවත්කාලීන කරන්න
අවධාරණය සඳහා උපුටා දැක්වීම් වලින් මගේ ප්රතිචාරය:
කේතීකරණ ප්රමිතිවල අදහස් දැක්විය යුතු නැති බවත්, ඊට එරෙහිව සටන් කිරීම සඳහා ආරක්ෂක ප්රශ්න මාලාවක් ලැයිස්තුගත කළ යුතු බවත් පවසන පිළිතුර එකම නිවැරදි පිළිතුර බව මගේ විශ්වාසයයි.
මෙහි ඇති ගැටළුව නම් කේතීකරණ ප්රමිතියක් යනු ප්රමිතියකි . අතිශයින්ම ආත්මීය අදහස් කේතීකරණ ප්රමිතියක නොවිය යුතුය . එය හොඳම පරිචයන් පිළිබඳ මාර්ගෝපදේශයක් විය හැකි නමුත් කේත සමාලෝචනයේදී සංවර්ධකයෙකුට එරෙහිව එම මාර්ගෝපදේශය භාවිතා කළ නොහැක. මගේ පුද්ගලික මතය අනුව, කේතීකරණ ප්රමිතියක් ස්වයංක්රීයව හැකි තරම් සමීප විය යුතුය. කේත සමාලෝචනවල නම් කිරීම, පරතරය, ටැබ්, වරහන්, අදහස් යනාදිය පිළිබඳව වාද විවාද කිරීම සඳහා බොහෝ කාලයක් නාස්ති වී ඇත. පිළිබඳ පිළිතුර සහ ස්වයංක්රීය කළ හැකිය. LINT'ers ශබ්ද කෝෂ, සංකල්පයකට ප්රාග්ධනීකරණ චෙක්පත් (විචල්ය, ක්රියාකාරිත්වය, ක්රමය, පන්තිය ආදිය) සඳහා ඉඩ ලබා දේ.tables
chairs
අදින්න ඉල්ලීමක් පිළිගැනීමට පෙර ජාවාඩොක් පරීක්ෂාව පවා රොබෝ ලින්ට් විසින් ක්රියාත්මක කළ හැකිය. විවෘත මූලාශ්ර ව්යාපෘති බොහොමයක් මෙම දේ කරයි. ඔබ ඔබේ අදින්න ඉල්ලීම ඉදිරිපත් කරයි, කේතය ස්ථිතික විශ්ලේෂණය ඇතුළුව ට්රැවිස්-සීඅයි ගොනුවක් සමඟ ගොඩනගා ඇති අතර එය වෛෂයිකව ප්රකාශ කළ හැකි සියලුම කේතීකරණ ප්රමිතීන් සමත් විය යුතුය. 'එය වැරදියට කිරීම' හෝ අදහස් දැක්වීමක් සමඟ 'වටිනාකමක් ලබා දීම' හෝ විචල්යයන් නම් කිරීම සඳහා වැරදි ආකාරයක් ගැන මිනිස් චයිම්ස් නැත. එම සාකච්ඡාවලින් කිසිදු වටිනාකමක් නොලැබෙන අතර අපගේ චිත්තවේගීය කේතීකරණයේ බර දරා ගත හැකි තෙවන පාර්ශවීය රොබෝවෙකුට ඉතිරි වේ.
ඇත්ත වශයෙන්ම ප්රශ්නයට පිළිතුරු සැපයීම සඳහා පහත සඳහන් ප්රශ්නයට පිළිතුරු සපයන්නේ කෙසේදැයි ආමන්ත්රණය කරන ප්රමිතියක් ලිවිය යුතු ආකාරය පිළිබඳව අප අවධානය යොමු කළ යුතුය: මෙම අදහස් දැක්වීම වටිනාකමක් ලබා දුන්නේද? කේතීකරණ ප්රමිතියකට විවරණයක 'වටිනාකම' නියම කළ නොහැක. එම නිසා මිනිසෙකුට එම පිරික්සුම් ලැයිස්තුව හරහා යෑම අවශ්ය වේ. කේතීකරණ ප්රමිතියක අදහස් සඳහන් කිරීම හුදෙක් මුල් පෝස්ටරයෙන් වැළකී සිටීමට අවශ්ය පිරික්සුම් ලැයිස්තුවක් නිර්මාණය කරයි.
අදහස් සාමාන්යයෙන් සම්පාදකයා විසින් සකසා ඉවත් නොකෙරේ. ඒවායේ වටිනාකම තීරණය කළ නොහැක. ප්රශ්නයේ අදහස් දැක්වීම වටී ද; ඔව් ද නැත් ද?. මෙම ප්රශ්නයට පිළිතුරු සැපයීම අසීරු ය. එයට නිසි ලෙස පිළිතුරු දීමට අවස්ථාවක් ලැබෙන්නේ මිනිසුන්ට පමණි, එවිට පවා එයට පිළිතුරු දිය හැක්කේ එය කියවන වේලාවේදී, එය කියවන පුද්ගලයාට පමණි; එම ප්රකාශයේ වටිනාකම කාලගුණය, ඔහුගේ හෝ ඇයගේ ගෘහ ජීවිතය, ඔවුන් සහභාගී වූ අවසන් රැස්වීම සහ නිසි ලෙස අවසන් නොවීම, දවසේ වේලාව, ඔවුන් සතුව තිබූ කෝපි ප්රමාණය කෙරෙහි බලපායි. පින්තූරය වඩාත් පැහැදිලි වන බව මම විශ්වාස කරමි.
ඕනෑම ප්රමිතියකින් එය නිසි ලෙස ප්රකාශ කළ හැක්කේ කෙසේද? ප්රමිතිය නිරන්තරයෙන් හා සාධාරණ ලෙස යෙදිය හැකි නම් මිස එය ප්රයෝජනවත් නොවේ.
කේතීකරණ ප්රමිතියක් හැකිතාක් පරමාර්ථයෙන් පැවතිය යුතු යැයි මම තරඟ කරමි. විචල්යයන් IS වෛෂයික ලෙස නම් කර ඇත. නිසි අක්ෂර වින්යාසය, ව්යාකරණ ව්යුහය සහ ආවරණ සඳහා ශබ්ද කෝෂයකට එරෙහිව ඒවා පහසුවෙන් පරීක්ෂා කළ හැකිය. ඉන් ඔබ්බට ඇති ඕනෑම දෙයක් වඩාත්ම බලවත් පුද්ගලයා හෝ "බ්රෝ පහර" මගින් දිනා ගන්නා "පිස්සු ගැලපීමක්" වේ. මම පෞද්ගලිකව යමක් නොකර සිටීම සමඟ පොරබදමි.
මම අදහස් දක්වන විට, මම සෑම විටම තුන්වන පුද්ගලයා තුළ මගේ අනාගත ආත්මය සමඟ කථා කරමි. මම වසර 5 කින් මෙම කේතයට නැවත පැමිණියහොත්, මා දැනගත යුත්තේ කුමක්ද? ප්රයෝජනවත් විය හැකි දේ, ව්යාකූල විය හැකි දේ සහ කේතය සමඟ යල් පැන ගිය දේ කුමක්ද? සෙවිය හැකි පොදු API උත්පාදනය කිරීම සඳහා ලේඛනගත කිරීමේ කේතය සහ නොදන්නා තෙවන පාර්ශවයකට වටිනාකමක් ලබා දෙන අදහස් දැක්වීමේ කේතය අතර වෙනසක් ඇත, එම තෙවන පාර්ශවය ඔබම වුවද.
මෙන්න හොඳ ලිට්මස් පරීක්ෂණයක්. ඔබ ව්යාපෘතියේ එකම කෙනා නම්. ව්යාපෘතියේ සිටින එකම පුද්ගලයා ඔබ බව ඔබ දැන සිටියා. ඔබේ කේතීකරණ ප්රමිතියේ කුමක් විය හැකිද? ඔබේ කේතය පිරිසිදු, ස්වයං පැහැදිලි කිරීමක් සහ අනාගතයේදී ඔබට තේරුම් ගත හැකි වීමට ඔබට අවශ්යය. සෑම පේළියකටම ඔබ අදහස් දැක්වීමක් නොකළේ ඇයිද යන්න පිළිබඳව ඔබ සමඟ කේත සමාලෝචනයක් තිබේද? ඔබ පරීක්ෂා කළ ලිපිගොනු 100 පිළිබඳව ඔබ විසින් සාදන ලද සෑම අදහසක්ම සමාලෝචනය කරනවාද? එසේ නොවේ නම්, අන් අයට බල කරන්නේ ඇයි?
මෙම සාකච්ඡාවලදී මග හැරී ඇති දෙයක් නම් අනාගතය ඔබ ද මෙම ව්යාපෘතියේ සංවර්ධකයෙකි. වටිනාකම ගැන විමසන විට, හෙට ඔබත් අදහස් දැක්වීමෙන් වටිනාකමක් ලබා ගත හැකි පුද්ගලයෙකි. එබැවින් කණ්ඩායම් ප්රමාණය, මගේ මතය අනුව එය වැදගත් නොවේ. කණ්ඩායම් අත්දැකීම් වැදගත් නැත, එය බොහෝ විට වෙනස් වේ.
මෙය සමාලෝචනය කරන විවරණ කේත ප්රමාණයක් වේගවත් කරන්නෙකු රෝගියෙකු අනතුරට ලක්වීම සහ killing ාතනය කිරීම වළක්වයි. කේතයට බලපාන විවරණයක් ගැන කතා කළ පසු, ඔබ දැන් කතා කරන්නේ කේතය ගැන නොවේ. යමෙකු kill ාතනය කිරීම සඳහා ගත යුතු අදහස් දැක්වීමක් අවශ්ය නම්, එම ක්රියාවලියේදී ගඳ සුවඳ දැනෙන තවත් දෙයක් තිබේ.
මෘදුකාංග ලිවීම සඳහා ක්රමවේදයක් ලෙස මේ ආකාරයේ දැඩි කේතීකරණ ක්රමයට විසඳුම දැනටමත් ලබා දී ඇත. එයට අදහස් දැක්වීම් සමඟ කිසිදු සම්බන්ධයක් නැත. අදහස් දැක්වීමේ ගැටළුව වන්නේ නිෂ්පාදිතය අවසානයේ ක්රියාත්මක වන ආකාරය කෙරෙහි ඒවාට කිසිදු බලපෑමක් නොමැති වීමයි. වේගවත්ම නිෂ්පාදකයෙකු තුළ කාවැද්දූ විට මෘදුකාංග බිඳවැටීමෙන් වළක්වා ගත හැකි ලෝකයේ හොඳම අදහස් වලට නොහැක. හෝ අතේ ගෙන යා හැකි EKG සමඟ විද්යුත් සං als ා මැනීමේදී.
අපට අදහස් වර්ග දෙකක් තිබේ:
යන්ත්ර කියවිය හැකි අදහස්
ජාවාඩොක්, ජේඑස්ඩොක්, ඩොක්සිජන් වැනි අදහස් දැක්වීමේ ශෛලීන් කේත සමූහයක් සපයන පොදු අතුරු මුහුණත අදහස් දැක්වීමේ සියලු ක්රම වේ. එම අතුරුමුහුණත භාවිතා කළ හැක්කේ තනි සංවර්ධකයෙකු (පුද්ගලයන් දෙදෙනෙකු සඳහා හිමිකාර කේතය), නොදන්නා සංවර්ධකයින් සංඛ්යාවක් (උදා: ජේඑම්එස්) හෝ සමස්ත දෙපාර්තමේන්තුවක් සඳහා පමණි. මෙම කේතය ස්වයංක්රීය ක්රියාවලියක් මඟින් කියවිය හැකි අතර එමඟින් එම අදහස්, හෝ HTML, PDF සහ වෙනත් දේ කියවීමට වෙනස් ආකාරයක් ලැබේ.
මෙම වර්ගයේ අදහස් දැක්වීම සඳහා ප්රමිතියක් නිර්මාණය කිරීම පහසුය. එය ප්රසිද්ධියේ ආයාචනා කළ හැකි සෑම ක්රමයක්ම, කාර්යයක්, පන්තියක් තුළ අවශ්ය අදහස් අඩංගු බව සහතික කිරීමේ වෛෂයික ක්රියාවලියක් බවට පත්වේ. ශීර්ෂයන්, පරාමිතීන්, විස්තරය සහ. එල්. මෙය වෙනත් කණ්ඩායමකට කේතය සොයා ගැනීම සහ භාවිතා කිරීම පහසු බව සහතික කිරීමයි.
මම කරන්නේ පිස්සු වගේ දෙයක්, නමුත් එය එසේ නොවේ
මෙම කේතය නිශ්චිත ආකාරයකින් ලියා ඇත්තේ මන්දැයි අන් අයට දැකීමට මෙම අදහස් මෙහි ඇත. සමහර විට කේතය ක්රියාත්මක වන ප්රොසෙසරවල සංඛ්යාත්මක දෝෂයක් ඇති අතර එය සැමවිටම වටයනු ඇත, නමුත් සංවර්ධකයින් සාමාන්යයෙන් ගනුදෙනු කරන්නේ කේතය සමඟය. එබැවින්, අපි අදහස් දක්වන්නේ කේතයක් ස්පර්ශ කරන සංවර්ධකයෙකු වර්තමාන සන්දර්භය යම් දෙයක් කරන්නේ ඇයිද යන්න සාමාන්යයෙන් අසාධාරණ යැයි පෙනෙන්නේ ඇයිද යන්න තේරුම් ගැනීමටය, නමුත් යථාර්ථයේ දී එය ලියා ඇත්තේ අරමුණක් ඇතුව ය.
මෙම වර්ගයේ කේතය බොහෝ ගැටලු ඇති කරයි. එය සාමාන්යයෙන් නොගැලපෙන අතර පසුව එය නව සංවර්ධකයෙකු විසින් සොයාගෙන ස්ථාවර කර ඇත. මේ අනුව සියල්ල බිඳ දමයි. එසේ වුවද, අදහස් දැක්වීම් ඇත්තේ කිසිවක් කැඩී යාම වැළැක්වීමට WHY පැහැදිලි කිරීමට පමණි.
අදහස් මත විශ්වාසය තැබිය නොහැක
අදහස් අවසානයේ නිෂ් less ල වන අතර විශ්වාස කළ නොහැක. අදහස් සාමාන්යයෙන් වැඩසටහන් ක්රියාත්මක වන ආකාරය වෙනස් නොකරයි. ඔවුන් එසේ කරන්නේ නම්, එවිට ඔබේ ක්රියාවලිය තවත් ගැටලු ඇති කරයි. අදහස් පසු විපරම් වන අතර කිසි විටෙකත් කිසිවක් විය නොහැකිය. කේතය වැදගත් වන්නේ පරිගණකය විසින් සකසන ලද සියල්ලම ය.
මෙය අසයින බවක් පෙනෙන්නට තිබුණත් මා සමඟ ඉවසන්න. මෙම රේඛා දෙකෙන් සැබවින්ම වැදගත් වන්නේ කුමක්ද?
// We don't divide by 0 in order to stop crashes.
return 1 / n;
මෙම උදාහරණයේ දී වැදගත් වන්නේ, 'n' යනු කුමක්ද යන්න පිළිබඳව අපට කිසිදු අදහසක් නොමැති වීම, n 0 වීම සඳහා කිසිදු චෙක්පතක් නොමැති අතර, එසේ වුවද, සංවර්ධකයෙකු n = 0
0 සඳහා චෙක්පත තැබීමෙන් පසුව කිසිවක් වළක්වන්නේ නැත. මේ අනුව, අදහස් දැක්වීම නිෂ් less ල වන අතර ස්වයංක්රීය කිසිවක් කිසි විටෙකත් මෙය අල්ලා ගත නොහැක. කිසිම ප්රමිතියකට මෙය අල්ලා ගත නොහැක. අදහස් දැක්වීම, ලස්සන වුවත් (සමහරුන්ට) නිෂ්පාදනයේ ප්රති come ල කෙරෙහි කිසිදු බලපෑමක් නැත.
ධාවක සංවර්ධනය පරීක්ෂා කරන්න
නිෂ්පාදනයේ ප්රති come ලයක් ඇත්තේ කුමක්ද? කේතය ලියා ඇති පුද්ගලයෙකුට වචනානුසාරයෙන් කෙනෙකු බේරා ගැනීමට හෝ kill ාතනය කිරීමට හැකි කර්මාන්ත දැඩි ලෙස පරීක්ෂා කළ යුතුය. මෙය කේත සමාලෝචන, කේත සමාලෝචන, පරීක්ෂණ, පරීක්ෂණ, කේත සමාලෝචන, ඒකක පරීක්ෂණ, ඒකාබද්ධ පරීක්ෂණ, අත්හදා බැලීම්, වේදිකාගත කිරීම, මාස ගණනක පරීක්ෂණ, කේත සමාලෝචන සහ තනි පුද්ගල අත්හදා බැලීම්, වේදිකාගත කිරීම, කේත සමාලෝචන, පරීක්ෂණ සහ අවසානයේ සමහර විට නිෂ්පාදනයට යනවා. අදහස් වලට මේ කිසිවක් සමඟ කිසිදු සම්බන්ධයක් නැත.
මම අදහස් දැක්වීමක් නැති, පිරිවිතරයක් ඇති, පිරිවිතරයන් සත්යාපනය කළ ඒකක පරීක්ෂණ, නිෂ්පාදන උපාංගයේ කේතය ධාවනය කිරීමේ ප්රති s ල පිළිබඳ අධ්යයනයන්, පසුව කිසි විටෙකත් පරීක්ෂා නොකළ හොඳින් ලේඛනගත කළ කේතයක් හෝ සංසන්දනය කිරීමට කිසිවක් නොමැති කේත. කේතය විරුද්ධයි.
යමෙකු යම් ආකාරයකින් යම් දෙයක් කළේ ඇයිදැයි ඔබ සොයා ගැනීමට උත්සාහ කරන විට ප්රලේඛනය ඉතා හොඳයි, කෙසේ වෙතත්, වසර ගණනාවක් තිස්සේ මම සොයාගෙන ඇත්තේ ප්රලේඛන සාමාන්යයෙන් 'බුද්ධිමත්' දෙයක් කළේ ඇයිද යන්න පැහැදිලි කිරීමට භාවිතා කරන බවයි. ඒ ආකාරයෙන් ලිවීමට.
නිගමනය
සෑම පේළියකටම අදහස් දැක්විය යුතු සමාගමක ඔබ වැඩ කරන්නේ නම්, අවම වශයෙන් ව්යාපෘතියේ මෘදුකාංග ඉංජිනේරුවන් දෙදෙනෙකු වත් දැනටමත් පර්ල්, ලිස්ප් හෝ පයිතන් හි ස්වයංක්රීය ලේඛන වැඩසටහනක් ලියා ඇති අතර එමඟින් රේඛාව කරන්නේ කුමක්ද යන්න පිළිබඳ සාමාන්ය අදහස තීරණය වේ. , ඉන්පසු එම පේළියට ඉහළින් විවරණයක් එක් කරයි. මෙය කළ හැකි නිසා, එයින් අදහස් කරන්නේ අදහස් නිෂ් .ල බවයි. කේතය ස්වයංක්රීයව ලේඛනගත කිරීම සඳහා මෙම ස්ක්රිප්ට් ලියා ඇති ඉංජිනේරුවන් සොයාගෙන 'සෑම රේඛාවකටම අදහස් දැක්වීම' කාලය නාස්ති කරන්නේ ඇයිද යන්න පිළිබඳ කිසිදු සාක්ෂියක් ලෙස ඒවා භාවිතා කරන්න.
අනෙක් අතට, මම සමීප මිතුරෙකුට ක්රමලේඛන පැවරුමක් සඳහා උදව් කරමින් සිටියෙමි. ඔහුගේ ගුරුවරයා සෑම පේළියක්ම ලේඛනගත කළ යුතු බවට කොන්දේසියක් නියම කර තිබුණි. එබැවින් මෙම චින්තන ක්රියාවලිය පැමිණෙන්නේ කොහෙන්දැයි මට පෙනේ. ඔබෙන්ම මෙසේ අසන්න, ඔබ කුමක් කිරීමට උත්සාහ කරනවාද, මෙය නිවැරදි දෙයද? ඉන්පසු ඔබෙන්ම මෙසේ අසන්න; මෙම ක්රියාවලිය සමඟ පද්ධතිය 'ක්රීඩා' කිරීමට ක්රමයක් තිබේද? තිබේ නම්, එය ඇත්ත වශයෙන්ම කිසියම් අගයක් එකතු කරනවාද? නිශ්චිත පිරිවිතරයන්ට අනුකූලව එම කේතය පරීක්ෂා කරන ඒකක පරීක්ෂණ කිසිවෙකුට ස්වයංක්රීයව ලිවිය නොහැකි අතර ඔවුන්ට හැකි නම් එය නරක දෙයක් නොවේ.
යම් උපකරණයක් යම් තත්වයක් යටතේ වැඩ කිරීමට සිදුවුවහොත් එය මිනිසෙකු තුළ ඇති බැවින් එය kill ාතනය නොවන බවට සහතික විය හැකි එකම ක්රමය වන්නේ වසර ගණනාවක පරීක්ෂණ, සම වයස් සමාලෝචන, අත්හදා බැලීම් සහ නැවත කේතය වෙනස් කිරීම නොවේ. නාසා ආයතනය තවමත් එවැනි පැරණි දෘඩාංග හා මෘදුකාංග භාවිතා කරන්නේ මේ නිසා ය. ජීවිතය හෝ මරණය සම්බන්ධයෙන් ඔබ 'සුළු වෙනසක් කර එය පරීක්ෂා කර බලන්න' එපා.
අදහස් දැක්වීම් ජීවිත බේරා ගැනීම සමග කිසිදු සම්බන්ධයක් නැත. අදහස් දැක්වීම් මිනිසුන් සඳහා වන අතර, අදහස් ලිවීමේදී පවා මිනිසුන් වැරදි කරයි. මිනිසුන් විශ්වාස නොකරන්න. එර්ගෝ, අදහස් විශ්වාස නොකරන්න. අදහස් ඔබේ විසඳුම නොවේ.