පැහැදිලිකිරීම සඳහා කේතීකරණ ප්‍රමිතිය: සෑම කේත පේළියක්ම අදහස් දක්වන්න?


145

මම ජීවිත විවේචනාත්මක මෘදුකාංග නිපදවන සාප්පු වල වැඩ කර ඇති අතර කේතය කියවිය හැකි ලෙස තබා ගැනීමට සහ ජීවිත බේරා ගැනීමට අදහස් කරන අදහස් දැක්වීමේ නීති සමඟ මම කටයුතු කළෙමි. මගේ අත්දැකීම් අනුව, අවශ්‍යතාවය පිරික්සුම් ලැයිස්තුවෙන් ඉවත් කර ගැනීම සඳහා මොළයක් නැති වැඩක් වන අතර තේරුම්ගත හැකි කේතයක් ලිවීම කෙරෙහි අවධානයෙන් සිටීමට මට උදව් නොකරයි. කේතය පහසුවෙන් තේරුම් ගත හැකි ආකාරය පිළිබඳව මා සමඟ වඩාත් අර්ථවත් සංවාදයක යෙදීමෙන් එය මගේ සම වයස් සමාලෝචකයාගේ අවධානය වෙනතකට යොමු කරයි.

කිසිදු අදහස් දැක්වීමක් නොමැති ශිෂ්‍ය කේතය මම ශ්‍රේණිගත කර ඇති අතර ඒවා නොසලකා හැරීම නිසා ඒවා සලකුණු කළ යුත්තේ මන්දැයි මම දුටුවෙමි.

හොඳ නම් භාවිතා කිරීම, ව්‍යුහයන් සරල ලෙස තබා ගැනීම, කාර්යයන් කෙටි කිරීම සහ මොඩියුලයන් අවධානය යොමු කිරීම මඟින් කේතය තේරුම් ගත හැකි වන පරිදි අදහස් අවම කළ හැකිය.

කේතය එය කරන්නේ කුමක් ද යන්න නොව අදහස් කරන්නේ කෙසේද යන්න අදහස් දැක්වීම් මගින් පැහැදිලි කළ යුතු බව ද මම තේරුම් ගතිමි.

මේ සියල්ල සැලකිල්ලට ගෙන මෙම අදහස ග්‍රහණය කර ගන්නා හොඳ කේතීකරණ ප්‍රමිතීන් ලිවීමට පවා හැකිද? සම වයස් සමාලෝචනයක් සඳහා අදාළ වන නමුත් "42 වන පේළිය ගැන අදහස් දැක්වීමට ඔබට අමතක වී ඇත" යන්නට වඩා ප්‍රයෝජනවත් නොවන සටහන් නිපදවන බුද්ධිමත් පිරික්සුම් ලැයිස්තු ක්‍රියාකාරකමක් බවට පත් නොවනු ඇත.

පිරික්සුම් ලැයිස්තුවක රේඛාවක් ලෙස සලකන විට මෙම රීතියට අවශ්‍ය විය හැකි කේතයේ උදාහරණයක්:

/* Display an error message */
function display_error_message( $error_message )
{
    /* Display the error message */
    echo $error_message;

    /* Exit the application */
    exit();
}

/* -------------------------------------------------------------------- */

/* Check if the configuration file does not exist, then display an error */
/* message */
if ( !file_exists( 'C:/xampp/htdocs/essentials/configuration.ini' ) ) {
    /* Display an error message */
    display_error_message( 'Error: Configuration file not found. Application has stopped');
}

ප්‍රමිති ලේඛනයකින් මෙය නිසියාකාරව ප්‍රකාශ කළ හැකි නම් සහ එය එසේ නොවිය හැකි නම්, මෙම රේඛා ඔස්සේ අදහසක් ග්‍රහණය කර ගැනීමට මම කැමතියි:

කේතයේ සෑම පේළියක්ම, අනුක්‍රමයක්, ප්‍රකාශයක්, කොටසක්, ව්‍යුහයක්, ක්‍රියාකාරීත්වයක්, ක්‍රමයක්, පන්තියක්, පැකේජයක්, සංරචකයක්, ... සඳහා අදහස් දැක්වීමක් සලකා බලන්න. ඊළඟට එම අදහස් දැක්වීමේ අවශ්‍යතාවය තුරන් කිරීම සඳහා නම් කිරීම සහ සරල කිරීම සලකා බලන්න එවිට ඔබට එය මකා දැමිය හැකිය. අදහස් දැක්වීම් දුර්ලභ වන අතර පරීක්ෂා කරන්න. නියමිත දිනය තෙක් නැවත නැවත කරන්න. ඉන්පසු තවත් කිහිපයක් නැවත කරන්න


21
අදහස් දීර් discussion සාකච්ඡාවක් සඳහා නොවේ; මෙම සංවාදය චැට් කිරීමට ගෙන ගොස් ඇත .
maple_shaft

32
කේත අදහස් සඳහා පවා “අදහස් දීර් discussion සාකච්ඡාවක් සඳහා නොවේ”. :) එම /* Display an error message */අදහස් භයානක වන අතර ඇත්ත වශයෙන්ම කියවීමේ හැකියාව කෙරෙහි බලපෑම් ඇති කරයි.
ඇන්ඩ්‍රියා ලාසරෝටෝ

අදහස් සැඟවීමට විකල්ප තිබිය යුතු අපගේ IDEs අවශ්‍ය වේ. සමහර විට බ්ලොක් සහ ඉන්ලයින් අදහස් වෙන වෙනම සැඟවීමට විකල්පයක් විය හැකිය. මේ ආකාරයෙන් ඔබට හොඳම විකල්ප දෙකම තිබේ. බොහෝ අදහස් දක්වන්න, නමුත් කේතය පිරිසිදුව හා අවිනිශ්චිත ලෙස තබා ගැනීමට ඒවා සැඟවීමට විකල්පයක් ඇත.
Dow.McFarlane

1
@ Dow.McFarlane මම සිතුවේ එය vim සඳහා පැවතිය යුතු බවයි. ඇත්ත වශයෙන්ම එය ගොනු සහ වාරණ මට්ටම් දෙකෙන්ම සිදු කරයි - rtfm-sarl.ch/articles/hide-comments.html !
මයිකල් ඩුරන්ට්

Answers:


171

මයිකල් ඩුරන්ට්ගේ පිළිතුර IMHO නරක නැත, නමුත් එය වචනානුසාරයෙන් ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත (ඔහු විසින්ම පිළිගත් පරිදි), එබැවින් මම පිළිතුරක් දීමට උත්සාහ කරමි:

කේතය එය කරන්නේ කුමක් ද යන්න නොව අදහස් කරන්නේ කෙසේද යන්න අදහස් දැක්වීම් මගින් පැහැදිලි කළ යුතු බව ද මම තේරුම් ගතිමි.

මේ සියල්ල සැලකිල්ලට ගෙන මෙම අදහස ග්‍රහණය කර ගන්නා හොඳ කේතීකරණ ප්‍රමිතීන් ලිවීමට පවා හැකිද?

නිසැකවම ඔබට ඔබේ කේත සමාලෝචන සඳහා පිරික්සුම් ලැයිස්තුවක් ලිවිය හැකිය , වැනි ප්‍රශ්න අඩංගු වේ

  • "අදහස් දැක්වීමක් තිබේ නම්, කේතය එය කරන්නේ මන්දැයි එය පැහැදිලි කරයිද?"
  • "කේතයේ සෑම පේළියක්ම - එහි සන්දර්භය තුළ - එක්කෝ අදහස් දැක්වීමක් අවශ්‍ය නොවන තරම් ස්වයං පැහැදිලි කිරීමක් තිබේද, නැතහොත් එසේ නොවේ නම්, එම පරතරය වැසෙන විවරණයක් සමඟ එය තිබේද? නැතහොත් (වඩාත් සුදුසු ලෙස) කේතය වෙනස් කළ හැකිද? එයට තවදුරටත් අදහස් දැක්වීමක් අවශ්‍ය නොවේද?

ඔබ කැමති නම්, ඔබට මෙය "කේතීකරණ ප්‍රමිතියක්" ලෙස හැඳින්විය හැකිය (නැතහොත්, කේතීකරණ ප්‍රමිතිය යන වචනය මොළයේ නීති ලැයිස්තුවක් සඳහා වෙන් කළ යුතු යැයි ඔබ සිතන්නේ නම්, ඒවා සම්පූර්ණ වී ඇත්දැයි පිළිතුරු දීමට පහසුය, කේතයේ හැඩතල ගැන්වීම පෙනුම විය යුතුය, නැතහොත් විචල්‍යයන් ප්‍රකාශ කළ යුත්තේ කොතැනද). ඔබේ පිරික්සුම් ලැයිස්තුවේ අර්ථකථන ප්‍රශ්න කෙරෙහි අවධානය යොමු කිරීමට කිසිවෙකු ඔබට බාධා නොකරයි , ඒ වෙනුවට පහසු මාර්ගයකට ගොස් විධිමත් නීති පමණක් ඒ තුළට දමන්න.

දවස අවසානයේදී, ඔබේ කණ්ඩායමට එවැනි පිරික්සුම් ලැයිස්තුවක් අවශ්‍ය බවට ඔබ සහතික විය යුතුය. එවැනි ප්‍රශ්න යෙදීම සඳහා ඔබට සමාලෝචකයින් ලෙස යම් පළපුරුද්දක් ඇති ක්‍රමලේඛකයින් අවශ්‍ය වන අතර එය විශේෂ experts කණ්ඩායමක කේතයේ කියවීමේ හැකියාව සැබවින්ම වැඩිදියුණු කරයිදැයි සොයා බැලිය යුතුය. නමුත් එය ඔබගේ කණ්ඩායම සමඟ එක්ව කටයුතු කළ යුතු දෙයකි.


46
මෙය අවතක්සේරු කළේ කවුද? මේ වන විවේචනාත්මක මෘදුකාංග සංවර්ධනය සඳහා පිළිතුර. බොහෝ ක්‍රමලේඛකයින් වැඩ කරන ස්ථානයට සාපේක්ෂව මෙය වෙනස් ලෝකයකි. මෙම ලෝකවල, කේතකරණ ප්‍රමිතියක් සෑම කේත පේළියකටම තමන්ගේම අදහස් දැක්වීමක් ඉල්ලා සිටින අතර එය නිවැරදි පිළිතුර නොවේ. දිගින් දිගටම අදහස් දැක්වීමක් ද නොවේ. OTOH, කේත සමාලෝචනයට යටත්ව අදහස් දැක්වීම හරියටම විවේචනාත්මක මෘදුකාංග සඳහා නිවැරදි ප්‍රමිතියකි. එය වඩාත් සමාලෝචනය කළ හැකි සහ නඩත්තු කළ හැකි කේතයක් ඇති කරයි, නමුත් මෙය පිරිවැයකින් පැමිණේ. දුර්වල ලෙස ලියා ඇති මෘදුකාංගවල ප්‍රති ulted ලයක් ලෙස ඩොලර් මිලියන ගණනක නඩු වලට සාපේක්ෂව එම පිරිවැය අඩු වේ.
ඩේවිඩ් හැමන්

4
wise ානවන්ත පිළිතුර. කේතීකරණය සඳහා අපට නියම නීති සොයාගත හැකි නම්, අපට ක්‍රමලේඛකයින් අවශ්‍ය නොවනු ඇත. අපට යන්ත්‍ර කේතය තිබිය හැකිය. එය සිදුවිය හැකිය! :(

4
Av ඩේවිඩ් හැමන්: ඔබේ අදහස් දැක්වීමට ස්තූතියි. ඇත්ත වශයෙන්ම, මෙය "විවේචනාත්මක මෘදුකාංග සංවර්ධනයට" පමණක් අදාළ නොවන බව මම සිතමි. වසර ගණනාවක් තිස්සේ නඩත්තු කරන ලද සහ පරිණාමය වූ සෑම කෑලි මෘදුකාංගයක්ම, බොහෝ විට විවිධ පුද්ගලයින් විසින්, ඊළඟ නඩත්තු ක්‍රමලේඛකයාට තේරුම් ගත හැකි පරිදි ප්‍රයෝජන ලබා ගනී.
ඩොක් බ්‍රවුන්

5
විවිධ පුද්ගලයින් විසින් නඩත්තු කරන කේත පමණක් නොව ඕනෑම කේතීකරණයක් සඳහා මෙය හොඳ උපදෙස් වේ . ස්ක්‍රිප්ට් / වැඩසටහනක් භාවිතා කරන්නේ ඔබ පමණක් වුවද, වසරක් තුළ කේතය වෙනස් කිරීමට ඔබට සිදු වන අනාගතයේ පැහැදිලිකම අගය කරනු ඇත (සහ පාරාන්ධ කේත තේරුම් නොගැනීමෙන් ඉතිරිවන කාලය).
ඇන්තනි ජෝජෙගන්

5
ඔබට වඩා වෛෂයික දෙයකට “දැනට වඩාත්ම ඉහළ නංවා ඇති පිළිතුර” සංස්කරණය කළ හැකිද? සෑම පා er කයෙක්ම මෙම පිළිතුරු වල ඡන්ද ඉතිහාසය දැන ගන්නේ නැත.
candied_orange

151

අඩු පැහැදිලි බවක් සහිත දුර්වල තත්ත්වයේ කේතයකට තුඩු දෙන ප්‍රධාන ප්‍රති-රටාව

btw පා readers කයින්, මාතෘකාව මුලින් "සෑම කේත පේළියකටම අදහස් දක්වන්නද?" මා ඇතුළු බොහෝ දෙනෙකුගේ සහජ ප්‍රතිචාරය ඔබට සිතාගත හැකිය. මම පසුව වඩාත් නිවැරදි මාතෘකාවට නැවත යොමු කළෙමි.

මුලදී, මම සිතූ ඔබේ ප්‍රශ්නය කියවීම, අදහස් දැක්වීමේදී අනුපිටපත්, නමුත් හරි, සමහර විට ඔබට බහු පුද්ගලයින්ගේ සමාලෝචන සඳහා ප්‍රමාණවත් තරම් සීමාවන් තිබේ නම් ... නමුත් පසුව නැවතත්: මිනිසුන් වැරදි කරයි, නොගැලපීම් හඳුනා ගැනීමට අපොහොසත් වේ. වෙනස්කම් ඇති වේ. පරාවර්තනය මත මම සිතන්නේ ගැටලුව වඩා විශාල බවයි:

සංවර්ධකයින් වඩාත් නරක කේත ලිවීමට නැඹුරු වනු ඇත. 'එය විවරණයේ විස්තර කර ඇති නිසා - බලන්න!'

සලකා බලන්න:

living_room_set = tables + chairs.

දැන් සලකා බලන්න:

set = tbls+chrs # Make the set equal to the table plus the chairs

ඔබට තවත් ගුප්ත නම් සහ කියවීමට තවත් බොහෝ දේ පමණක් නොව, ඔබට පිටුපසට බැලීමටද, කේතය දෙස බැලීමටද, කට්ටලයක් යනු කුමක්ද? කේතය දෙස වමට බලන්න, අදහස් දෙස දකුණට බලන්න, ටීබීඑල් යනු කුමක්ද, කේතය දෙස වමට බලන්න, අදහස් දෙස දකුණට බලන්න, ක්‍රිස් යනු කුමක්ද, අදහස් දැක්වීමට නිවැරදිව බලන්න. ඔව්!

සාරාංශය

සංවර්ධකයෙකු ලෙස ඔබගේ වර්තමාන තත්වයට පත්වීමට ඔබට බල කෙරෙන්නේ නම් (කලින් COBOL ක්‍රමලේඛයක් ලෙස මම විශාල ඒවා දැක ඇත්තෙමි!) නමුත් අදහස් දැක්වීමේ ප්‍රතිවිරෝධයට එරෙහිව තර්ක කිරීම සඳහා ඔබේ කාලය, ශක්තිය හා ආශාව වැඩි කාලයක් ගත කළෙමි. තර්ක භාවිතා කරන රටාව:

  • කේතයක් සහ අදහස් එකක් පමණක් වෙනස් වූ විට එකිනෙකා සමඟ සමමුහුර්ත වේ

  • අදහස් දැක්වීම් මගින් එක් පුද්ගලයෙකු සිතන දේ විස්තර කළ හැකි නමුත් වැරදි විය හැකි අතර එමඟින් දෝෂ වසන් කරයි

  • කේතය කියවීමට අපහසු වේ

  • හොඳ කේතයක් ලිවීමට අපහසු වේ

  • වඩා ගුප්ත නම් භාවිතා කිරීමේ ප්‍රවණතාව

  • කේත සහ අදහස් කියවීමට අතිරික්ත අක්ෂර

  • විවිධ සංස්කාරකවරුන් විවිධ මෝස්තර භාවිතා කරයි

  • කේතීකරණයට වඩා ඉහළ ඉංග්‍රීසි භාෂා ප්‍රවීණතාවයක් අවශ්‍ය වේ

  • කාලය හා සම්පත් ලබාගෙන දිගු කාලීන වටිනාකමෙන් අඩු කිරීම *

එවැනි අදහස් දැක්වීමකින් තොරව වඩා හොඳ කේතයක් සඳහා වාද කරන්න , - ඇත්ත වශයෙන්ම සම්මත (!) ඇත - සියලු විචල්‍ය නම් පූර්ණ_ ඉංග්‍රීසි_ වචන විය යුතුය - එකක් තිබේ! එබැවින් හොඳින් ලියා ඇති කේත හා පරීක්ෂණ වල ප්‍රමිතීන්ට එම 'ප්‍රමිති' ශක්තිය භාවිතා කරන්න.

අසීරු ගැටළු දෙකෙන් එකක් නම් නම් කිරීමයි - අදහස් දැක්වීමේදී ගැටලුව මඟ හරින්න එපා.

අනෙක් ගැටලුවලින් එකක් වන්නේ නොමේරූ ප්‍රශස්තිකරණය සහ පොදුවේ ප්‍රශස්තිකරණය 'ඇයි මේ ආකාරයට' කේතය අපැහැදිලි වීමට හේතු විය හැකි නිසා, මෙය දුර්වල කේත සඳහා පැහැදිලි කිරීමේ අදහස් දැක්වීම ප්‍රයෝජනවත් විය හැකි එක් අංශයකි.

* හෙට කේතය


8
මම විශ්වාස කරන්නේ නැහැ ඔයා ප්‍රශ්නයට උත්තර දුන්නා කියලා. ප්‍රශ්නය වන්නේ සෑම පේළියකම අදහස් දැක්වීම නොවේ. සෑම පේළියකටම අදහස් දැක්වීමට ඉඩ නොදී කේත අදහස් දැක්වීමට සංවර්ධකයින්ට පවසන්නේ කෙසේදැයි එය අසයි.
hichris123

7
ඔව්, මම නිශ්චිත ප්‍රමිති ප්‍රශ්නයට පිළිතුරු සපයන්නේ නැත, ඒ වෙනුවට එම මාර්ගයෙන් බැස නොයෑමට මිනිසුන්ට උදව් කිරීමට උත්සාහ කරමි. එබැවින් මෙය නිශ්චිත ප්‍රශ්නයට පිළිතුර නොවිය හැකි නමුත් අදහස් දැක්වීමක් කිරීමට අපහසු වටිනා උපදෙස් අඩංගු වේ.
මයිකල් ඩුරන්ට්

1
අනෙක් දුෂ්කර ගැටළුව කුමක්ද?
ඩේවිඩ් පවසන්නේ රෙනේස්ටේට් මොනිකා


1
අදහස් දැක්වීම වළක්වා ගැනීමට ඔබ දක්වන සෑම හේතුවක්ම ප්‍රතික්ෂේප කළ හැකි නමුත් ස්ටැක්එක්ස්චේන්ජ් විසින් ඒවා සියල්ලම මෙහි ආමන්ත්‍රණය කිරීමට මට ප්‍රමාණවත් තරම් අදහස් දැක්වීමට (හෙහ්) ඉඩ නොදේ. සරලවම: අධික ලෙස මුදල් යෙදවීම ඡන්ද දායකයින්ගේ වංචාවකට සමානය: එය සිදු වේ, නමුත් ඉතා කලාතුරකිනි; ඔබ එය අවසන් වරට දුටු අවසාන අවස්ථාව කවදාද? හොඳ අදහස් ලිවීම හුදෙක් පසු සිතිවිල්ලක් නොවිය යුතුය; නිවැරදිව සිදු කළ හොත් එය සංවර්ධන ක්‍රියාවලියට උපකාරී වේ. ඔව්, එයට සම්පත් අවශ්‍යයි, නමුත් ගෙවීම වඩා හොඳ කේතයකි. වඩා හොඳ විචල්‍ය නම් කිරීමේ ප්‍රමිතියක් සඳහා අදහස් දැක්වීමෙන් ඔබට කිසි විටෙකත් එකම ගාස්තුවක් ලබා ගත නොහැක. ඔව්, සෑම පේළියක්ම අදහස් දැක්වීම ගෙඩි වේ.
kmoser

23

කේතීකරණ ප්‍රමිති ලේඛනයක් යනු දැනටමත් සාමාන්‍ය බුද්ධිය කුමක්ද යන්න නියම කිරීමට සුදුසු ස්ථානයක් යැයි මම නොසිතමි. කේතීකරණ ප්‍රමිතියක පරමාර්ථය වන්නේ සාධාරණ පුද්ගලයින් එකඟ නොවිය හැකි ගැටළු පිළිබඳ අනුකූලතාව සහතික කිරීම (සහ තර්ක කිරීමෙන් වැළකී සිටීම) සහ පැහැදිලි නිවැරදි පිළිතුරක් නොමැති වීමයි. උදා: නම් කිරීමේ සම්මුතීන්, ඉන්ඩෙන්ටේෂන් යනාදිය.

ඔබේ උදාහරණයේ දී මෙන් අදහස් දැක්වීම වෛෂයිකව නිෂ් less ල වන අතර එය අද්දැකීම් අඩු සංවර්ධකයෙකු හෝ අදහස් දැක්වීම් තිබීම යාන්ත්‍රිකව පරික්ෂා කරන ගොඩනැඟිලි පද්ධතියක් සමඟ වැඩ කිරීමට භාවිතා කරන සංවර්ධකයෙකු නිසා විය හැකිය (ඇත්තෙන්ම නරක අදහසක්, නමුත් එය පවතී). මෙම අවස්ථා දෙකෙහිම විසඳුම අධ්‍යාපනයයි, සමහර විට කේත සමාලෝචන හරහා.

ඔබ කේතීකරණ ප්‍රමිතියට සියලු ආකාරයේ “හොඳම භාවිතයන්” එක් කිරීමට පටන් ගන්නේ නම්, ඔබ දැනටමත් බහු පොත් වල සඳහන් කර ඇති පුනරාවර්තනය අවසන් වනු ඇත. සැක සහිත සංවර්ධකයාට "පිරිසිදු කේතය", "කේත සම්පුර්ණ" සහ "ප්‍රායෝගික ක්‍රමලේඛකයා" මිලදී ගෙන ඔබේ කේතීකරණ ප්‍රමිතිය කෙට්ටුව තබා ගන්න.


63
මෙම ජාවාරමේ වසර 40 කට පසු මම ඉගෙන ගත් බොහෝ දේවලින් එකක් නම් සාමාන්‍ය බුද්ධිය කිසිසේත්ම පොදු නොවන බවයි.
ජෝන් ආර්. ස්ට්‍රෝම්

10
සාමාන්‍ය බුද්ධිය වැනි දෙයක් නැත.
whatsisname

1
in_programming no .. තාත්වික ලෝකය ඔව්, නමුත් එය සැබෑ ලෝකයේ අත්දැකීම් සහිත දැනුම සඳහා වූ යෙදුමකි
මයිකල් ඩුරන්ට්

R ජෝන් ආර්.
ජැක් බී

මම මෙම පිළිතුර සමඟ 99.9% එකඟතාවයක සිටිමි. කේත සමාලෝචනයේදී විවාදයක් සිදු වූ විට සංවර්ධකයින් පෙන්වා දෙන දෙය කේතීකරණ ප්‍රමිතියයි. කේත සමාලෝචනය යනු යුද්ධ ආරම්භ නොකිරීමට නිෂ්පාදිතය පොහොසත් කිරීමයි. කේත සමාලෝචන මගින් කේතීකරණ ප්‍රමිතියක් නොමැති උසිගැන්වීම් මා දැක ඇති බොහෝ යුද්ධ. කේතීකරණ ප්‍රමිතියේ ඇති අයිතම පරීක්ෂා කිරීම ඔබට ස්වයංක්‍රීය කළ නොහැකි නම් එය එහි තිබිය යුතු යැයි මම සිතමි. කේත සමාලෝචනයක් යනු අඩු පළපුරුදු වෙනත් සංවර්ධකයින්ට 'සාමාන්‍ය බුද්ධිය' ලබා දීමට කාලයයි. විචල්යයන් නම් කිරීම සම්බන්ධයෙන් සටන් කිරීමට කාලය නොවේ. linux / kernel / gen_init_cpio.c line 335.
ටී ෆිනෙල්

19

එය කළ නොහැකි ය. ඔබ මූලිකවම උත්සාහ කරන්නේ හොඳ විනිශ්චය යාන්ත්‍රික කිරීමයි.

ජීවිතයට සහාය වන වෛද්‍ය පද්ධති වැනි විවේචනාත්මක මෘදුකාංග ලිවීමේදී, විශාල පිරික්සුම් ලැයිස්තු සහ වොට්නොට් පාහේ නොවැළැක්විය හැකිය. බුද්ධිමත් පුද්ගලයින් පවා වැරදි සිදු කරනවා පමණක් නොව, මෙම උපාංග සඳහා බොහෝ මෘදුකාංග ලියා ඇත්තේ ඔවුන්ගේ රැකියාවන්හි එතරම් හොඳ නැති අය විසිනි, එබැවින් 'පද්ධතියට' අලස වැඩ වලින් ආරක්ෂා වීමට හැකි විය යුතුය. අලෙවිකරණයේ වියදම.

ඔබේ හොඳම විකල්පය වන්නේ අදහස් දැක්වීම සඳහා දැඩි කේතීකරණ ප්‍රමිතිය අතහැර දමා ආදර්ශයෙන් කණ්ඩායම මෙහෙයවීමයි. නිසි ලෙස අදහස් දක්වා ඇති හොඳ තත්ත්වයේ කේතයක් නිෂ්පාදනය කිරීමට උත්සාහ කිරීමෙන් හොඳ අදහස් දැක්වීමේ පෙනුම අනෙක් අයට පෙන්වන්න. අදහස් ලිවිය යුතු ආකාරය විස්තර කිරීමේ අවසාන ක්‍රමය සොයා ගැනීමට උත්සාහ කරනවා වෙනුවට (ඒවා විනිශ්චය ඇමතුමකට වඩා බොහෝ විට) ඔබේ කේත සමාලෝචන සමඟ දිනපතාම ඔබ අදහස් කරන දේ අනෙක් අයට පෙන්වන්න. අනෙක් සාමාජිකයන් ඔබේ කේතය කියවන විට එය ප්‍රයෝජනවත් යැයි හැඟේ නම් ඔවුන් අනුගමනය කරනු ඇත. ඔවුන්ට නොහැකි නම් ආරම්භ කිරීමට වඩා හොඳ අදහස් ලිවීමට කිසිදු ප්‍රමිතියක් ඔවුන්ට උදව් නොකරයි.


1
+1 සඳහා “ඔබ හොඳ විනිශ්චයක් යාන්ත්‍රික කිරීමට උත්සාහ කරයි,” -1 සඳහා “ඔබේ එකම විකල්පය හොඳම දේ ගැන බලාපොරොත්තුවෙන් සිටීම පමණයි” සහ එය මට ඡන්දය නොදීමට හේතු වේ. ඔබේ කණ්ඩායම දැනුවත් කිරීම සහ පුහුණු කිරීමද විකල්පයකි. ප්‍රමිතිවලට විනිශ්චය කිරීමට ඉඩ දිය හැකිය .
වයිල්ඩ්කාඩ්

1
IldWildcard සම්මතයක් විනිශ්චය කිරීමට ඉඩ දෙන්නේ කෙසේදැයි ඔබට පැහැදිලි කළ හැකිද? එම අවස්ථාවේදී එය මඟ පෙන්වීමක් නොවේද? ප්‍රමිතියක් යනු “සංසන්දනාත්මක ඇගයීම්වල මිනුමක්, සම්මතයක් හෝ ආකෘතියක් ලෙස භාවිතා කරන අදහසක් හෝ දෙයක්.” ගුණාත්මක භාවය මැනීම සඳහා යමෙකුට සහජයෙන්ම ආත්මීය යමක් භාවිතා කළ හැක්කේ කෙසේද?
ඇන්ඩ rew ටී ෆිනෙල්

1
Ild විල්ඩ්කාඩ්: ගැටලුව වන්නේ ඔබ නියාමනය කරන ලද කර්මාන්තවලට පිවිසෙන විට, ක්‍රියාවලිය සෑම දෙයකටම වඩා ඉහළින් පාලනය වන අතර, ක්‍රියාවලියක් තිබීම වැදගත් ද නැද්ද යන්නට වඩා ක්‍රියාවලියක් තිබීම වැදගත් ය. සෑම දෙයක්ම කිසියම් ආකාරයකින් පිරික්සුම් කොටු වෙතට තල්ලු විය යුතුය, සෑම පිරික්සුම් කොටුවක්ම නිශ්චිත හා සත්‍යාපනය කළ යුතු අතර, ඔබ චෙක් පෙට්ටියක ඇති ලී මාර්ගය වඩාත් විගණනයකදී කරදරයට පත්වීමේ අවදානම වැඩි කරයි.
whatsisname

එය අමුතු ලෝකයක් වන අතර, නීති රීති ලියා ඇත්තේ මෘදුකාංග වසම පිළිබඳ අල්ප දැනුමක් ඇති නිලධරයන් වන අතර, ඔබ බොහෝ විට අවසන් වන්නේ ගුණාත්මක නිෂ්පාදන සහතික කිරීම සඳහා අවසානයක් සඳහා මාධ්‍යයක් නොවී ඒවා සාධාරණීකරණය කිරීමට හා අවශ්‍ය කිරීමට අවශ්‍ය පද්ධති සමඟ ය.
whatsisname

1
@whatsisname මට තේරෙනවා වෙන කෙනෙක් ඉන්නවා කියලා. ඔබේ ප්‍රතිචාර ලියා ඇත්තේ මා මෙතෙක් උත්සාහ කළ ප්‍රමාණයට වඩා අලංකාරව හා නිවැරදිව ය. ප්‍රකාශය with systems that exist to justify and require themselves rather than being a means to an end to ensure quality productsහරියටම මම නිදර්ශනය කිරීමට උත්සාහ කළ දෙයයි. මා වෙනුවෙන් මගේ වචන සොයා ගැනීම ගැන ස්තූතියි. මම ඇත්තටම ඒක අදහස් කළා. ක්‍රියාවලියක් එක හා සමාන නොවන බැවින් ඒවා අනුගමනය කිරීමේ අදහසින් ගුණාත්මක භාවය ඇති කිරීමේ අදහස අප විසින් වෙන් කළ යුතුය. අපට QA, Stackoverflow සහ ඉතා සමාව දෙන ගනුදෙනුකරුවන් සිටින්නේ මේ නිසාය.
ඇන්ඩ rew ටී ෆිනෙල්

14

යාවත්කාලීන කරන්න

අවධාරණය සඳහා උපුටා දැක්වීම් වලින් මගේ ප්‍රතිචාරය:

කේතීකරණ ප්‍රමිතිවල අදහස් දැක්විය යුතු නැති බවත්, ඊට එරෙහිව සටන් කිරීම සඳහා ආරක්ෂක ප්‍රශ්න මාලාවක් ලැයිස්තුගත කළ යුතු බවත් පවසන පිළිතුර එකම නිවැරදි පිළිතුර බව මගේ විශ්වාසයයි.

මෙහි ඇති ගැටළුව නම් කේතීකරණ ප්‍රමිතියක් යනු ප්‍රමිතියකි . අතිශයින්ම ආත්මීය අදහස් කේතීකරණ ප්‍රමිතියක නොවිය යුතුය . එය හොඳම පරිචයන් පිළිබඳ මාර්ගෝපදේශයක් විය හැකි නමුත් කේත සමාලෝචනයේදී සංවර්ධකයෙකුට එරෙහිව එම මාර්ගෝපදේශය භාවිතා කළ නොහැක. මගේ පුද්ගලික මතය අනුව, කේතීකරණ ප්‍රමිතියක් ස්වයංක්‍රීයව හැකි තරම් සමීප විය යුතුය. කේත සමාලෝචනවල නම් කිරීම, පරතරය, ටැබ්, වරහන්, අදහස් යනාදිය පිළිබඳව වාද විවාද කිරීම සඳහා බොහෝ කාලයක් නාස්ති වී ඇත. පිළිබඳ පිළිතුර සහ ස්වයංක්‍රීය කළ හැකිය. LINT'ers ශබ්ද කෝෂ, සංකල්පයකට ප්‍රාග්ධනීකරණ චෙක්පත් (විචල්‍ය, ක්‍රියාකාරිත්වය, ක්‍රමය, පන්තිය ආදිය) සඳහා ඉඩ ලබා දේ.tableschairs

අදින්න ඉල්ලීමක් පිළිගැනීමට පෙර ජාවාඩොක් පරීක්ෂාව පවා රොබෝ ලින්ට් විසින් ක්‍රියාත්මක කළ හැකිය. විවෘත මූලාශ්‍ර ව්‍යාපෘති බොහොමයක් මෙම දේ කරයි. ඔබ ඔබේ අදින්න ඉල්ලීම ඉදිරිපත් කරයි, කේතය ස්ථිතික විශ්ලේෂණය ඇතුළුව ට්‍රැවිස්-සීඅයි ගොනුවක් සමඟ ගොඩනගා ඇති අතර එය වෛෂයිකව ප්‍රකාශ කළ හැකි සියලුම කේතීකරණ ප්‍රමිතීන් සමත් විය යුතුය. 'එය වැරදියට කිරීම' හෝ අදහස් දැක්වීමක් සමඟ 'වටිනාකමක් ලබා දීම' හෝ විචල්‍යයන් නම් කිරීම සඳහා වැරදි ආකාරයක් ගැන මිනිස් චයිම්ස් නැත. එම සාකච්ඡාවලින් කිසිදු වටිනාකමක් නොලැබෙන අතර අපගේ චිත්තවේගීය කේතීකරණයේ බර දරා ගත හැකි තෙවන පාර්ශවීය රොබෝවෙකුට ඉතිරි වේ.

ඇත්ත වශයෙන්ම ප්‍රශ්නයට පිළිතුරු සැපයීම සඳහා පහත සඳහන් ප්‍රශ්නයට පිළිතුරු සපයන්නේ කෙසේදැයි ආමන්ත්‍රණය කරන ප්‍රමිතියක් ලිවිය යුතු ආකාරය පිළිබඳව අප අවධානය යොමු කළ යුතුය: මෙම අදහස් දැක්වීම වටිනාකමක් ලබා දුන්නේද? කේතීකරණ ප්‍රමිතියකට විවරණයක 'වටිනාකම' නියම කළ නොහැක. එම නිසා මිනිසෙකුට එම පිරික්සුම් ලැයිස්තුව හරහා යෑම අවශ්‍ය වේ. කේතීකරණ ප්‍රමිතියක අදහස් සඳහන් කිරීම හුදෙක් මුල් පෝස්ටරයෙන් වැළකී සිටීමට අවශ්‍ය පිරික්සුම් ලැයිස්තුවක් නිර්මාණය කරයි.

අදහස් සාමාන්‍යයෙන් සම්පාදකයා විසින් සකසා ඉවත් නොකෙරේ. ඒවායේ වටිනාකම තීරණය කළ නොහැක. ප්රශ්නයේ අදහස් දැක්වීම වටී ද; ඔව් ද නැත් ද?. මෙම ප්‍රශ්නයට පිළිතුරු සැපයීම අසීරු ය. එයට නිසි ලෙස පිළිතුරු දීමට අවස්ථාවක් ලැබෙන්නේ මිනිසුන්ට පමණි, එවිට පවා එයට පිළිතුරු දිය හැක්කේ එය කියවන වේලාවේදී, එය කියවන පුද්ගලයාට පමණි; එම ප්‍රකාශයේ වටිනාකම කාලගුණය, ඔහුගේ හෝ ඇයගේ ගෘහ ජීවිතය, ඔවුන් සහභාගී වූ අවසන් රැස්වීම සහ නිසි ලෙස අවසන් නොවීම, දවසේ වේලාව, ඔවුන් සතුව තිබූ කෝපි ප්‍රමාණය කෙරෙහි බලපායි. පින්තූරය වඩාත් පැහැදිලි වන බව මම විශ්වාස කරමි.

ඕනෑම ප්‍රමිතියකින් එය නිසි ලෙස ප්‍රකාශ කළ හැක්කේ කෙසේද? ප්‍රමිතිය නිරන්තරයෙන් හා සාධාරණ ලෙස යෙදිය හැකි නම් මිස එය ප්‍රයෝජනවත් නොවේ.

කේතීකරණ ප්‍රමිතියක් හැකිතාක් පරමාර්ථයෙන් පැවතිය යුතු යැයි මම තරඟ කරමි. විචල්යයන් 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 = 00 සඳහා චෙක්පත තැබීමෙන් පසුව කිසිවක් වළක්වන්නේ නැත. මේ අනුව, අදහස් දැක්වීම නිෂ් less ල වන අතර ස්වයංක්‍රීය කිසිවක් කිසි විටෙකත් මෙය අල්ලා ගත නොහැක. කිසිම ප්‍රමිතියකට මෙය අල්ලා ගත නොහැක. අදහස් දැක්වීම, ලස්සන වුවත් (සමහරුන්ට) නිෂ්පාදනයේ ප්‍රති come ල කෙරෙහි කිසිදු බලපෑමක් නැත.

ධාවක සංවර්ධනය පරීක්ෂා කරන්න

නිෂ්පාදනයේ ප්‍රති come ලයක් ඇත්තේ කුමක්ද? කේතය ලියා ඇති පුද්ගලයෙකුට වචනානුසාරයෙන් කෙනෙකු බේරා ගැනීමට හෝ kill ාතනය කිරීමට හැකි කර්මාන්ත දැඩි ලෙස පරීක්ෂා කළ යුතුය. මෙය කේත සමාලෝචන, කේත සමාලෝචන, පරීක්ෂණ, පරීක්ෂණ, කේත සමාලෝචන, ඒකක පරීක්ෂණ, ඒකාබද්ධ පරීක්ෂණ, අත්හදා බැලීම්, වේදිකාගත කිරීම, මාස ගණනක පරීක්ෂණ, කේත සමාලෝචන සහ තනි පුද්ගල අත්හදා බැලීම්, වේදිකාගත කිරීම, කේත සමාලෝචන, පරීක්ෂණ සහ අවසානයේ සමහර විට නිෂ්පාදනයට යනවා. අදහස් වලට මේ කිසිවක් සමඟ කිසිදු සම්බන්ධයක් නැත.

මම අදහස් දැක්වීමක් නැති, පිරිවිතරයක් ඇති, පිරිවිතරයන් සත්‍යාපනය කළ ඒකක පරීක්ෂණ, නිෂ්පාදන උපාංගයේ කේතය ධාවනය කිරීමේ ප්‍රති s ල පිළිබඳ අධ්‍යයනයන්, පසුව කිසි විටෙකත් පරීක්‍ෂා නොකළ හොඳින් ලේඛනගත කළ කේතයක් හෝ සංසන්දනය කිරීමට කිසිවක් නොමැති කේත. කේතය විරුද්ධයි.

යමෙකු යම් ආකාරයකින් යම් දෙයක් කළේ ඇයිදැයි ඔබ සොයා ගැනීමට උත්සාහ කරන විට ප්‍රලේඛනය ඉතා හොඳයි, කෙසේ වෙතත්, වසර ගණනාවක් තිස්සේ මම සොයාගෙන ඇත්තේ ප්‍රලේඛන සාමාන්‍යයෙන් 'බුද්ධිමත්' දෙයක් කළේ ඇයිද යන්න පැහැදිලි කිරීමට භාවිතා කරන බවයි. ඒ ආකාරයෙන් ලිවීමට.

නිගමනය

සෑම පේළියකටම අදහස් දැක්විය යුතු සමාගමක ඔබ වැඩ කරන්නේ නම්, අවම වශයෙන් ව්‍යාපෘතියේ මෘදුකාංග ඉංජිනේරුවන් දෙදෙනෙකු වත් දැනටමත් පර්ල්, ලිස්ප් හෝ පයිතන් හි ස්වයංක්‍රීය ලේඛන වැඩසටහනක් ලියා ඇති අතර එමඟින් රේඛාව කරන්නේ කුමක්ද යන්න පිළිබඳ සාමාන්‍ය අදහස තීරණය වේ. , ඉන්පසු එම පේළියට ඉහළින් විවරණයක් එක් කරයි. මෙය කළ හැකි නිසා, එයින් අදහස් කරන්නේ අදහස් නිෂ් .ල බවයි. කේතය ස්වයංක්‍රීයව ලේඛනගත කිරීම සඳහා මෙම ස්ක්‍රිප්ට් ලියා ඇති ඉංජිනේරුවන් සොයාගෙන 'සෑම රේඛාවකටම අදහස් දැක්වීම' කාලය නාස්ති කරන්නේ ඇයිද යන්න පිළිබඳ කිසිදු සාක්ෂියක් ලෙස ඒවා භාවිතා කරන්න.

අනෙක් අතට, මම සමීප මිතුරෙකුට ක්‍රමලේඛන පැවරුමක් සඳහා උදව් කරමින් සිටියෙමි. ඔහුගේ ගුරුවරයා සෑම පේළියක්ම ලේඛනගත කළ යුතු බවට කොන්දේසියක් නියම කර තිබුණි. එබැවින් මෙම චින්තන ක්‍රියාවලිය පැමිණෙන්නේ කොහෙන්දැයි මට පෙනේ. ඔබෙන්ම මෙසේ අසන්න, ඔබ කුමක් කිරීමට උත්සාහ කරනවාද, මෙය නිවැරදි දෙයද? ඉන්පසු ඔබෙන්ම මෙසේ අසන්න; මෙම ක්‍රියාවලිය සමඟ පද්ධතිය 'ක්‍රීඩා' කිරීමට ක්‍රමයක් තිබේද? තිබේ නම්, එය ඇත්ත වශයෙන්ම කිසියම් අගයක් එකතු කරනවාද? නිශ්චිත පිරිවිතරයන්ට අනුකූලව එම කේතය පරීක්ෂා කරන ඒකක පරීක්ෂණ කිසිවෙකුට ස්වයංක්‍රීයව ලිවිය නොහැකි අතර ඔවුන්ට හැකි නම් එය නරක දෙයක් නොවේ.

යම් උපකරණයක් යම් තත්වයක් යටතේ වැඩ කිරීමට සිදුවුවහොත් එය මිනිසෙකු තුළ ඇති බැවින් එය kill ාතනය නොවන බවට සහතික විය හැකි එකම ක්‍රමය වන්නේ වසර ගණනාවක පරීක්ෂණ, සම වයස් සමාලෝචන, අත්හදා බැලීම් සහ නැවත කේතය වෙනස් කිරීම නොවේ. නාසා ආයතනය තවමත් එවැනි පැරණි දෘඩාංග හා මෘදුකාංග භාවිතා කරන්නේ මේ නිසා ය. ජීවිතය හෝ මරණය සම්බන්ධයෙන් ඔබ 'සුළු වෙනසක් කර එය පරීක්ෂා කර බලන්න' එපා.

අදහස් දැක්වීම් ජීවිත බේරා ගැනීම සමග කිසිදු සම්බන්ධයක් නැත. අදහස් දැක්වීම් මිනිසුන් සඳහා වන අතර, අදහස් ලිවීමේදී පවා මිනිසුන් වැරදි කරයි. මිනිසුන් විශ්වාස නොකරන්න. එර්ගෝ, අදහස් විශ්වාස නොකරන්න. අදහස් ඔබේ විසඳුම නොවේ.


3
අදහස් දැක්වීමේ ගැටළුව වන්නේ නිෂ්පාදිතය අවසානයේ ක්‍රියාත්මක වන ආකාරය කෙරෙහි ඒවාට කිසිදු බලපෑමක් නොමැති වීමයි. හොඳින් කේතය චෝදනා ලිවීමේ හා කියවීමේ මානව කොටසක් නම් මම හිතනවා කරන්නේ කොහොමද එය බලපාන අවසානයේ ක්රියාත්මක වන නමුත් කේතය නොවන ආකාරය ඉටු අවසානයේ ලියා විට, ඔව්. මම කියන්නේ කේතයේ ඇති ගැටළුව එය යල්පැන ඇති බවත් පසුව කිසිදු කේතයකට වඩා නරක බවත් ය!
මයිකල් ඩුරන්ට්

1
මෙන්න, අපට කාලසටහනක් තිබුනා, අප කළ දේ සඳහා දිනපතා වාර්තා අවශ්‍ය වූ නිසා ඔහුට අපගේ වැඩ කටයුතු වඩාත් ප්‍රශස්ත කිරීමට හැකි විය. ඕනෑම අවස්ථාවක ඔහුගේ පෝරමය පිරවීම සඳහා අපට දිනකට මිනිත්තු 15 ක් ගත කිරීමට සිදුවීම ගැන අපි තරහින් සිටිමු. එබැවින් අපගේ ල .ු-සටහන් වලින් කසළ පුරවා මෙය ස්වයංක්‍රීය කළෙමු.
joojaa

2
"බිඳවැටීම් නැවැත්වීම සඳහා අපි 0 න් බෙදන්නේ නැත" යන ප්‍රකාශය සමඟ අමතර ගැටළුවක් ඇත . “පිළිවෙලට” වගන්තිය බෙදීමේ ක්‍රියාවට හෝ එය ප්‍රතික්ෂේප කිරීමට අදාළ වන්නේ නම් එය ව්‍යාකරණමය වශයෙන් පැහැදිලි නැත. ඔබ "අපි 0 න් බෙදීමෙන් වැළකී සිටිමු ..." භාවිතා කරන්නේ නම් ඔබ මෙම අවිනිශ්චිතතාවයෙන් වැළකී සිටී. :)
වයිල්ඩ්කාඩ්

1
"බිඳ වැටීම් නැවැත්වීම සඳහා ශුන්‍යයෙන් බෙදන්න එපා" ඇත්ත වශයෙන්ම එය ලියූ පුද්ගලයාගේ මානසිකත්වය ගැන මට බොහෝ දේ කියයි. බිඳවැටීම් වළක්වා ගැනීමට ඔබ කේත නොකරයි! ඔබ කේත කරන නිසා කේතය නිවැරදි වන අතර බිඳ වැටීම නිවැරදි නොවීමේ කුඩා කොටසක් පමණි. එන්නත් කිරීමේ ප්‍රමාණය ගණනය කිරීම ශුන්‍යයෙන් බෙදීම අවසන් වුවහොත්, ඔබ 99999 වැනි ව්‍යාජ වටිනාකමක් ලබා
නොදේ

1
AndAndrewTFinnell මම අදහස් කළේ ඔබ සමහර විට ශුන්‍ය දෝෂයකින් බෙදීමක් ලබා ගන්නේ නම්, "if (divisor == 0) ආපසු <something>; // ශුන්‍යයෙන් බෙදීමෙන් වළකින්න" එකතු කිරීමෙන් ඔබේ කේතය තවදුරටත් නිවැරදි නොවේ. ඒ වෙනුවට ඔබ බෙදුම්කරු ශුන්‍ය වන්නේ මන්දැයි සොයා බලා එය නිවැරදි කරන්න. ශුන්ය භාජකය නොවැලැක්විය හැකි, එසේ යම් ගණිත ක්රමයක් නිර්මාණය කර ඇත, නමුත් ඔවුන් හැර ඉන්නේ (තවද දී බව නම් ඔබට "ප්රතිඵලයක් ගණනය කල නොහැක" එහි වටිනාකම නැවත හැක).
user253751

12

ඔබ අදහස් ගැන කතා කරන විට ඔබ සඳහන් කරන වෙනස් කරුණු දෙකක් තිබේ. ඒවා එක හා සමාන නොවන අතර වෙනස වැදගත් ය.

කේත කැබැල්ලක පිටත මුහුණත බිටු ගැන ප්‍රලේඛනය ඔබට කියයි - එහි අතුරු මුහුණත.

සාමාන්‍යයෙන් මෙවලම් මඟින් ඔබට ඒවා 'තනිවම' කියවීමට ඉඩ දෙනු ඇත, එනම් ඔබ එකවර යටි කේතය දෙස නොබලයි.

සියලුම අතුරුමුහුණත් ලේඛනගත කළ යුතුය (උදා: එක් එක් ක්‍රමය, පුද්ගලික ක්‍රම හැර), එය යෙදවුම්, ප්‍රතිදානයන් සහ වෙනත් අපේක්ෂාවන්, සීමාවන් යනාදිය විස්තර කළ යුතුය, විශේෂයෙන් අවහිරතා, පරීක්ෂණ ආදිය මගින් ප්‍රකාශ කළ නොහැකි දේවල් (). හරියටම කොපමණ විස්තර සහ එය යන්නේ කොතැනද යන්න ව්‍යාපෘතිය මත රඳා පවතී).

හොඳ ලියකියවිලි අනාගත පාරිභෝගිකයාට කේතය භාවිතා කරන්නේ කෙසේද, කවදාද සහ කෙසේද යන්න තීරණය කිරීමට ඉඩ දෙයි.

ප්‍රභව කේතයේ අදහස් වලට වෙනත් අරමුණක් ඇත. ප්‍රභව කේතය දෙස බලන පුද්ගලයින් සඳහා ඒවා තිබේ. ඒවා මූලික වශයෙන් ක්‍රියාත්මක කිරීම විස්තර කරයි.

අදහස් සෑම විටම යටින් පවතින කේතය අතර කියවනු ලැබේ.

අදහස් දැක්වීම් මගින් විස්මිත තීරණ හෝ සංකීර්ණ ඇල්ගොරිතම හෝ ගත නොහැකි විකල්ප (සහ තර්කනය) පැහැදිලි කළ යුතුය. අනාගත සංවර්ධකයින්ට ඔවුන්ගේ පූර්වගාමීන්ගේ චින්තන ක්‍රියාවලීන් අවබෝධ කර ගත හැකි අතර ඔවුන් නොසලකා හැරීමට හෝ වැඩි කාලයක් ගත කිරීමට ඉඩ ඇති තොරතුරු අත ළඟ තිබේ, උදා.

# 'map' outperforms 'for' here by a factor of 10  

// This line works around an obscure bug in IE10, see issue #12053  

-- We are going to recursively find the parents up to and including the root node.
-- We will then calculate the number of steps from leaf node to root node.
-- We first use a WITH clause to get the ID of the root node.

අදහස් දැක්වීමක් නොමැති වීමෙන් ඔබට කිසිවක් අනුමාන කළ නොහැකි අතර, එම ප්‍රකාශය ඇත්ත වශයෙන්ම අවට කේතය තරම් වැරදියි. විනිශ්චය කතුවරයාගේ පැත්තෙන් මෙන්ම පා er කයාගේ පැත්තෙන් ද ක්‍රියාත්මක කළ යුතුය.

සෑම පේළියක්ම අදහස් දැක්වීම පැහැදිලිවම සැක සහිත අතිරේක වටිනාකමක් ඇති වැඩක් වන අතර එය ආවස්ථික පිරිවැයක් සමඟ පැමිණේ. සෑම පේළියක්ම අදහස් දැක්විය යුතු යැයි ඔබට රීතියක් තිබේ නම්, ඔබට එය ලැබෙනු ඇත, නමුත් වැදගත් කොටස්වල වියදමින් හොඳින් අදහස් දැක්වීම .

නමුත් එය ඊට වඩා නරක ය: සෑම පේළියක්ම අදහස් දක්වන්නේ නම් අදහස් දැක්වීමේ අරමුණ පරාජය වේ. අදහස් ශබ්දය බවට පත්වන අතර එය කේතය කියවීමට අපහසු වේ: පැහැදිලි කිරීමට වඩා අපැහැදිලි ය. එපමණක් නොව, විචක්ෂණ ලෙස අදහස් දැක්වීම ඇත්තෙන්ම වැදගත් අදහස් හඳුනා ගැනීම දුෂ්කර කරයි.

අදහස් හෝ ලියකියවිලි ඔවුන් විස්තර කරන කේතයේ ගුණාත්මකභාවය පිළිබඳ කිසිදු ආකාරයක මිනුමක් හෝ සහතිකයක් සපයන්නේ නැත; ඒවා අව්‍යාජ QA වෙනුවට ආදේශකයක් නොවේ. ඔවුන්ගේ පරමාර්ථය ඉදිරි දැක්මකි, එනම් ඔවුන් සමඟ කටයුතු කරන අයට වැරදි සිදු නොවීමට ඔවුන් උපකාර කරනු ඇතැයි යන බලාපොරොත්තුවෙනි.

සාරාංශයක් ලෙස , ඔබේ කේතීකරණ ප්‍රමිතීන්ට ප්‍රලේඛන අවශ්‍ය විය හැකි හා අවශ්‍ය විය යුතුය (ස්වයංක්‍රීය චෙක්පත් මගින් ලේඛනගත නොකළ කාර්යයන් / ක්‍රම හඳුනා ගැනීමට උපකාරී වේ, නමුත් මිනිසුන්ට තවමත් ප්‍රලේඛනය හොඳ දැයි පරීක්ෂා කර බැලිය යුතුය). අදහස් දැක්වීම විනිශ්චය ඇමතුමක් වන අතර ඔබේ ශෛලීය මාර්ගෝපදේශකයා මෙය පිළිගත යුතුය. කිසි විටෙකත් අදහස් නොදක්වන අය සහ නොසිතා අදහස් දක්වන අය අභියෝගයට ලක්විය යුතුය.


පොදු API ලේඛනගත කිරීම හොඳ කරුණක් නමුත් පුදුම සහගත තීරණ පැහැදිලි කිරීමට මම කැමතියි. අවම වශයෙන් විශ්මය ජනක කිරීමේ මූලධර්මය උල්ලං lations නය කිරීම අවම වශයෙන් සාධාරණීකරණය කිරීමක් සමඟ පැමිණේ නම් එය ඉතා හොඳයි. +1
candied_orange

1
බාහිර අදහස් සඳහා ශබ්දය ලෙස +1. ශබ්දයට ඉහළ සං signal ාවක් තබා ගන්න.
sq33G

+1 විශේෂයෙන් සෑම පේළියක්ම අදහස් දක්වන්නේ නම් අදහස් දැක්වීමේ අරමුණින් පරාජය වේ. මෙය ඉතා නරක විය හැකි අතර එය බොහෝ විට අදහස් දැක්වීම නොකිරීමට නිදහසට කරුණක් ලෙස භාවිතා කළ හැකිය, නමුත් එය කෙසේ වෙතත් එය හරි ය, ඔබ සඳහන් කළ හේතු නිසා ප්ලස් සෑම පේළියක්ම අදහස් දක්වන්නේ නම් බොහෝ අය ස්වයංක්‍රීයව සහ තේරුම් ගත හැකි පරිදි සියලු අදහස් නොසලකා හැරීමට පටන් ගනී .
සැන්ටිබයිලර්ස්

10

ඔබට අදහස් දැක්වීමේ ප්‍රමිතියක් කේතනය කළ නොහැක, මන්ද වැදගත් අදහස් දැක්වීම කල්තියාම ඔබට දැනගත නොහැක.

නමුත් මෙය තවමත් ජීවිත විවේචනාත්මක කේතය බැවින් කේතය නිවැරදිව අදහස් දක්වා ඇති බවට සහතික කර ගැනීමට ඔබට අවශ්‍යය. විසඳුම වන්නේ කේත සමාලෝචනය සඳහා ප්‍රමිතියක් තිබීමයි - අවබෝධය පිළිබඳ කේත සමාලෝචන අදහස් අවශ්‍ය වේ.

මෙය අර්ථ විරහිත පිරික්සුම් ලැයිස්තුවක් බවට පත් නොවන බවට මෙය සහතික නොවේ, නමුත් එය අවම වශයෙන් කේතය කියවීමට අපහසු වීම වළක්වයි. එය වඩා හොඳ කිරීමට හැකියාව ඇත.

මේ සඳහා කේත සමාලෝචනයක් යනු අර්ථ විරහිත අභිනය නොවන සංස්කෘතියක් අවශ්‍ය වන අතර, ඔබේ කේතය කියවීමට අපහසු ලෙස ආපසු යැවීම හොඳ දෙයක් මිස අපහාසයක් හෝ කරදරයක් නොවේ. වැදගත් ලෙසම, එය අපැහැදිලි යැයි පැවසීම පා er කයාගේ අසාර්ථකත්වයක් ලෙස නොපෙනේ.

කියවිය නොහැකි කේතය එක්තරා දුරකට වැළැක්විය නොහැක. ලේඛකයා සන්දර්භය තුළ ගිලී ඇති හෙයින්, ඔබ x, y, හෝ z දන්නේ නම් පමණක් පැහැදිලිව පෙනෙන දෙයක් පෙනෙනු ඇත.

එබැවින්, හොඳ ප්‍රතිපෝෂණයක් ලබා දෙන නීතියක් ඔබට ලබා ගත නොහැකි වනු ඇත, නමුත් ඔබට සමාලෝචන පරීක්ෂා කළ හැකිය. ක්‍රමලේඛන නොවන කළමණාකරුවෙකුට පවා එසේ කළ හැකිය - මක්නිසාද යත් සැබෑ ප්‍රශ්නය කියවිය හැකි ලෙස ලියා ඇති කේතය නොව, ඇත්ත වශයෙන්ම කියවිය හැකි කේතය නිසා එය තීරණය කළ හැක්කේ එය කියවන කෙනෙකුට පමණි.


7
නැවත ඔබ අදහස් සම්මත සම්පාදනය කිරීමට නොහැකි - ෂුවර් ඔබට හැකිය. ඔබ කේත සමාලෝචනයට යටත්ව අදහස් දක්වන අතර, අදහස් දැක්වීම් කේතය පැහැදිලි නොකරන බව පවසන කේත සමාලෝචන අයිතමය ආමන්ත්‍රණය කළ යුතුය. මෙය බොහෝ ක්‍රමලේඛන පරිසරයන්ට ගෙවීමට අවශ්‍ය නොවන වියදමකි. විවේචනාත්මක මෘදුකාංග සම්බන්ධයෙන් එය ගෙවනු ලැබේ.
ඩේවිඩ් හැමන්

"... එය පැහැදිලිව පෙනෙන විට ඔබ x, y, හෝ z දන්නේ නම්" ඔබට පැහැදිලිව පෙනෙන දෙයක් දැකීමට කල්තියා දැනගත යුතු knowledge x, y, z knowledge දැනුමේ ප්‍රමාණය නියම කළ හැකිය (කාරුණික වත්මන් කේතය සඳහා මෙය සත්‍යයක් දැයි ඔබට පරීක්ෂා කළ හැකිය. නැති තැන, එය ලැබෙන තුරු අදහස් එක් කරන්න.
ට්‍රයිලරියන්

1
Av ඩේවිඩ් හැමන්: එය අදහස් දැක්වීම සඳහා ප්‍රමිතියක් නොවේ, එය සමාලෝචනය සඳහා ප්‍රමිතියකි. විසඳුම ලෙස මා යෝජනා කළේ එයයි. ඔබට එය නිශ්චිත ප්‍රමාණයක් තිබිය යුතු යැයි පැවසිය නොහැක, නැතහොත් විශේෂිත වාක්‍ය ඛණ්ඩයක් භාවිතා කිරීම හෝ පළමුවෙන්ම අදහස් දැක්වීමක් අවශ්‍ය වේ (නැතහොත් ඔබට "මට එකක් එක් කරන්න" යනුවෙන් අදහස් දක්වන්න). සමාලෝචකයා කේතය සහ අදහස් දැක්විය යුතු බව ඔබට පැවසිය හැකිය. ඔබ පවසන පරිදි කේත සමාලෝචනය මගින් මතු කරනු ලබන ගැටළු වලට විසඳුම් ලබා දිය යුතුය. නමුත් මේ සඳහා ඇති වගකීම හොඳ කාර්යයක් කිරීමට සමාලෝචකයා වෙත පැවරිය යුතුය. කේතය සහ අදහස් දැක්වීම ප්‍රමාණවත් දැයි විනිශ්චය කළ හැක්කේ සමාලෝචකයාට පමණි.
jmoreno

Av ඩේවිඩ් හැමන් සමාලෝචනය සඳහා තෝරාගත් අය විනිශ්චය ඉල්ලා සිටීද? ඔවුන් යන විට? නව පුද්ගලයින් එකම ආකාරයකින් සිතන්නේ නැත්නම් හෝ ඉංග්‍රීසි කතා කරන්නේ නැත්නම්? ‘විචාරකයින්’ පිටව ගියහොත්? ඔබේ යෝජනාව සංවර්ධකයින් කිහිප දෙනෙකු අයිවරි කුළුණක් මත තබා ඇති අතර එය විසම්මුතිය, අවිශ්වාසය සහ සන්නිවේදනය බිඳ වැටීමට තුඩු දෙයි. අදහස් දැක්වීම යනු එය භාවිතා කළ හැකි අය සඳහා තීක්ෂ්ණ බුද්ධිය හෝ පැහැදිලි කිරීම සැපයීමයි. සමහර විට ජෝට එය අවශ්‍ය නමුත් මේරිට අවශ්‍ය නැත. මරියා සමාලෝචකයා වන විට කුමක් සිදුවේද? නැත්නම් ජෝ? නැත්නම් මාර්ක් ද?
ඇන්ඩ rew ටී ෆිනෙල්

@jmoreno - කේතීකරණ ප්‍රමිතීන්ට අදහස් දැක්වීම පිළිබඳ නීති රීති / මාර්ගෝපදේශ නොතැබීම යන්නෙන් අදහස් කරන්නේ ක්‍රමලේඛකයන්ට විවිධ ප්‍රභවයන් දෙස බැලිය යුතු බවයි - තවද සමාලෝචනය නැවත පැමිණෙන තෙක් ඔවුන් කොතැනක සිටිය යුතු දැයි ඔවුන් නොදනී. කේතීකරණ ප්‍රමිතියක ඇති සියල්ල ස්වයංක්‍රීයව කළ යුතු යැයි සිතීම වැරදිය. අර්ථවත් නම් පිළිබඳ රීති, උදාහරණයක් ලෙස, ස්වයංක්‍රීය කළ නොහැක. අවම වශයෙන් තවම නැත. නිදසුනක් ලෙස, යමෙකු සූත්‍රවල එම නම් හරියටම භාවිතා කළ ජර්නල් පත්‍රිකාවක් මත පදනම් වූ විද්‍යාත්මක ඇල්ගොරිතමයක් ක්‍රියාත්මක කරන්නේ නම් x, එය y, සහ z, හෝ i, jසහ kතරමක් අර්ථවත් නම් විය හැකිය.
ඩේවිඩ් හැමන්

9

සෑම කේත පේළියකටම අදහස් දක්වන්න? නැත .

ඔබ කතා කරන අනෙක් නීති වල අරමුණ එය වළක්වා ගැනීමයි.

කියවිය හැකි කේතයකට අදහස් දැක්වීම අතිරික්ත වන අතර, නරකම දෙය නම් පා comment කයා අදහස් දැක්වීමේ නොපවතින අරමුණ සෙවීමයි.

ඔබ ස්වයං පැහැදිලි කිරීමක් වන සම්පූර්ණ කේතය අදහස් දක්වන්නේ නම්, අමතර තොරතුරු ලබා දීමෙන් කියවීමේ ප්‍රමාණය මෙන් දෙගුණයක් වේ. එවැනි අතිරික්තයක් ගෙවනු ඇත්දැයි මට විශ්වාස නැත. විචාරකයෙකු 42 ක් පවසන බව කෙනෙකුට සිතිය හැකිය display_error. නමුත් කේතයේ වෙනසක් සිතන්න. ඔබට දැන් නිවැරදි කිරීමට ස්ථාන දෙකක් තිබේ. මෙම ශෛලියට පිටපත්-පේස්ට් නිෂේධන ඇති බව පැහැදිලිය.

ප්‍රශස්ත ලෙස කේතයට ප්‍රලේඛන හැර වෙනත් අදහස් අවශ්‍ය නොවන බව මම කියමි.

රේඛාව පිළිබඳව ඔබට සැකයක් ඇත්නම් එය සම්පූර්ණයෙන්ම ප්‍රතිවිරුද්ධ විලාසිතාවන් ඇත:

  1. කේතය ඉතා සංකීර්ණ වන අතර කේතයේ කොටස සඳහා අර්ථකථන අර්ථයක් ඇති නමක් සහිත ශ්‍රිතයක් වෙත නැවත ප්‍රතිනිර්මාණය කළ යුතුය. එය ifඇල්ගොරිතමයක සංකීර්ණ හෝ කොටසක් වේවා. (හෝ දක්ෂ ලින්ක් වන්-ලයිනර්)

  2. එය සරල කළ නොහැකි නම්, ඔබ භාෂාවේ ප්‍රමාණවත් තරම් මෝඩයන් දන්නේ නැත.

(මම පෞද්ගලිකව දැඩි අදහස් දැක්වීමේ රීතියේ උමතුවක් නොවෙමි, නමුත් එය ඉදිරියට යාමට හොඳ ආරම්භක මානසිකත්වයක් ලෙස මම දකිමි.)

මේ සියල්ල සැලකිල්ලට ගෙන මෙම අදහස ග්‍රහණය කර ගන්නා හොඳ කේතීකරණ ප්‍රමිතීන් ලිවීමට පවා හැකිද?

ක්රියාවලිය සඳහා. අපගේ ප්‍රමිතිය සමාලෝචකයාට සෑහෙන ගෞරවයක් ලබා දුන්නේය. ඔවුන් අනිෂ්ට නොවන බව උපකල්පනය කිරීමෙන් මෙය හොඳ ය.

ඔහු "විචල්ය යනු oකුමක්ද?" යනුවෙන් ඇසූ විට, ඔබ එය නැවත නම් කරන්න. මෙම වාරණය කරන්නේ කුමක්දැයි ඔහු ඇසුවොත්, ප්‍රතික්‍රියාකාරකය හෝ අදහස් දක්වන්න. යමක් පැහැදිලිද නැද්ද යන්න පිළිබඳ විවාදයක් පැවතුනේ නම්, විචාරකයාට එය නොලැබුනේ නම්, අර්ථ දැක්වීම අනුව එය එසේ නොවේ. ඉතා දුර්ලභ අවස්ථාවන්හිදී මිතුරන් කිහිප දෙනෙකුගේ 2 වන මතය වැනි දෙයක් විය.

සාමාන්‍යයෙන්, කණ්ඩායමේ සාමාන්‍ය ක්‍රමලේඛකයාට තේරුම්ගත හැකි කේතයක් ලබා ගත යුතුය. IMO එය අතිරික්ත තොරතුරු වළක්වන අතර අවම වශයෙන් කණ්ඩායමේ තවත් එක් සාමාජිකයෙකුට කේතය තේරුම් ගත හැකි බව සහතික කරයි, එය අපට හොඳ ප්‍රශස්ත බවක් හමු විය.

එසේම, නිරපේක්ෂයන් නොමැත . අපි කුඩා කණ්ඩායමක් වුවද. 5 කාණ්ඩයේ සම්මුතියක් සොයා ගැනීම පහසුය.


2
සමාගමක්, ව්‍යාපාරයක් හෝ ක්‍රමවේදයකට වෛර කිරීමට මිනිසුන් පෙළඹවිය හැකි හොඳම ක්‍රමය නම් කුමන විචල්‍යයන්, පන්ති සහ ක්‍රම නම් කළ යුතුද යන්න නියම කිරීමට කේත සමාලෝචන භාවිතා කිරීමයි. කේත සමාලෝචන ඇත්ත වශයෙන්ම වැදගත් නොවන දේවල් බලාත්මක කිරීමේ ක්‍රමයක් ලෙස භාවිතා නොකළ යුතුය. කේතීකරණ ප්‍රමිතියක් ස්වයංක්‍රීය ක්‍රියාවලියක් හරහා පරීක්ෂා කළ යුතුය. විචල්ය නාම දිග, චක්‍රලේඛ සංකීර්ණතාව, ඩිමීටරයේ නියමය යන සියල්ල පරීක්ෂා කළ හැකිය. විචල්‍යයක් 'i' සිට indexForThePreviousCollection වැනි දෙයක් ලෙස නම් කරන්නැයි යමෙක් මට කීවා නම්, මට වැඩ කිරීමට වෙනත් ස්ථානයක් සොයාගත හැකිය. විචල්‍යයන්> අක්ෂර 3 ස්වයංක්‍රීයව පිරික්සීමට පෙර පරීක්ෂා කරනු ලැබේ.
ඇන්ඩ rew ටී ෆිනෙල්

3
Nd ඇන්ඩ rew ටී ෆින්නෙල් ඔබ නම් කිරීමට කැමති ඕනෑම ක්‍රමලේඛන පරාමිතියක කේත අනුගමනය කළ නොහැකි බව මට ලිවිය හැකිය.
candied_orange

2
Nd ඇන්ඩෘ ටී ෆින්නෙල් හොඳයි, මම ආචාරශීලීව එකඟ නොවෙමි. " නියම කිරීමට කේත සමාලෝචන භාවිතා කිරීම ", ඔබ එය ගත්තේ කොහෙන්දැයි මම නොදනිමි. මම විචල්ය කේත මත වැඩ කිරීමට කැමති නොවන i, j, kමුල් කතුවරයා ඉනිම නිමා කරයි පසු හැමතැනම. "මානව" ජෙනෝමය පිළිබඳ ඔබේ අදහස මට තේරෙන්නේ නැත. තනි ප්‍රකාශයක් හෝ දෙකක් තේරුම් ගැනීමට අපහසු භාෂාවක් ඇතැයි මට සැකයි. මම කී පරිදි, මම සංකීර්ණ ifs සහ LINQඑක් ලයිනර් දැක ඇත්තෙමි . අර්ථාන්විත අර්ථයකින් ඒවා අදහස් දැක්වීමට හෝ ප්‍රතිනිර්මාණය කිරීමට හැකිය, එය ඔබගේ “හොඳ අදහස්” යැයි මම සිතමි.
luk32

3
එකඟ නොවීමට ඇති අයිතියට මම ගරු කරමි. පුනරාවර්තන විචල්‍යයන් මගේ මතය අනුව සන්දර්භගතව පැහැදිලිව පෙනේ. ඔබේ ප්‍රකාශයේ හැඟීම මා වටහාගෙන සිටියද, එම හැඟීම අන්තයට ගෙන යන බොහෝ භාවිතයන් ඇති බව මම විශ්වාස කරමි. අපට ඇත්ත වශයෙන්ම කියවිය යුතු කේතයක් අවශ්‍යද : for (int indexForCurrentDatabaseRow = 0; indexForCurrentDatabaseRow < currentUserRecordSetResults.length; indexForCurrentDatabaseRow = indexForCurrentDatabaseRow + 1)එදිරිව for (int i = 0; i < results.length; i++)? සමහර විට එය මනාපයන් සහ / හෝ කේතය බැලීමට ගත කරන කාලය විය හැකිය. ඕනෑවට වඩා වාචික නම් මට සුවඳයි.
ඇන්ඩ rew ටී ෆිනෙල්

2
කේත සමාලෝචනවලදී නම් තීරණය කළ යුතු යැයි මම නොසිතමි. කේත සමාලෝචනය සාමාන්‍යයෙන් ආරම්භ කළ යුත්තේ එය ප්‍රමාණවත් යැයි කතුවරයා සිතීමෙන් පසුව වන අතර එයින් අදහස් කරන්නේ එය නිසි ලෙස අදහස් දැක්වීම, තේරුම් ගැනීමට පහසු සහ විචල්‍යයන්ට හොඳ නම් ඇති බවයි. කාරණය නම් - විචාරකයින් සිතන්නේ කේතය ඉතා සංකීර්ණ හෝ විචල්‍යයක අර්ථය සමඟ පොරබදන්නේ නම්, කේතය තේරුම් ගැනීමට අපහසුය. මෙය විවාදාත්මක නොවේ - පෙනෙන විදිහට අවම වශයෙන් එක් සංවර්ධකයෙකු - සමාලෝචකයා - එය තේරුම් ගෙන නැත. එය නැවත සකස් කළ යුතුද නැද්ද යන්න (සහ කෙසේද) හෝ නිසි ලෙස අදහස් දැක්වීම වෙනස් කාරණයකි.
ඉඩාන් ආර්යෙ

9

ප්රශ්නය:

මේ සියල්ල සැලකිල්ලට ගෙන මෙම අදහස ග්‍රහණය කර ගන්නා හොඳ කේතීකරණ ප්‍රමිතීන් ලිවීමට පවා හැකිද? සම වයස් සමාලෝචනයක් සඳහා අදාළ වන නමුත් "42 වන පේළිය ගැන අදහස් දැක්වීමට ඔබට අමතක වී ඇත" යන්නට වඩා ප්‍රයෝජනවත් නොවන සටහන් නිපදවන බුද්ධිමත් පිරික්සුම් ලැයිස්තු ක්‍රියාකාරකමක් බවට පත් නොවනු ඇත.

අදහස් පා the කයා භාෂාව පිළිබඳව දැනුවත් කිරීමට උත්සාහ නොකළ යුතුය. පා er කයා ලේඛකයාට වඩා භාෂාව හොඳින් දැන සිටිය යුතු යැයි උපකල්පනය කළ යුතු නමුත් ලේඛකයාට වඩා අඩු සන්දර්භයක් ඇත.

මෙම කේතය කියවන අය, ඔබේ උදාහරණයෙන්, exit()යෙදුමෙන් පිටවන බව දැන සිටිය යුතුය - එමඟින් අදහස් දැක්වීම අතිරික්ත වේ:

/* Exit the application */
exit();

අතිරික්ත අදහස් ඩයි උල්ලංඝනය වන අතර, සහ කේතය වෙනස් අවශ්යයෙන්ම කේතය ඇත්තටම කරන දේ පිළිබිඹු නොවන බව අදහස් හැර, ප්රතිචාර සඳහා ප්රචාරය කරන්නේ නැහැ.

කෙසේ වෙතත්, ඔබ යමක් කරන්නේ ඇයිද යන්න පැහැදිලි කරන අදහස් වටිනා විය හැකිය - විශේෂයෙන් ඔබට කේතයේ තේරුම පහසුවෙන් සන්නිවේදනය කළ නොහැකි නම්.

පයිතන්ගේ පීඊපී 8 (සීපයිතන් සම්මත පුස්තකාලයේ පයිතන් සඳහා වන මාර්ගෝපදේශය) පේළිගත අදහස් සඳහා පහත දැක්වෙන මාර්ගෝපදේශ සපයයි:

පේළිගත කිරීමේ අදහස් අරපිරිමැස්මෙන් භාවිතා කරන්න.

පේළිගත අදහස් දැක්වීම යනු ප්‍රකාශයක් ලෙස එකම පේළියේ අදහස් දැක්වීමකි. පේළිගත කිරීම් අදහස් අවම වශයෙන් අවකාශ දෙකකින් වෙන් කළ යුතුය. ඒවා # සහ තනි ඉඩකින් ආරම්භ කළ යුතුය.

පේළිගත අදහස් අනවශ්‍ය වන අතර ඇත්ත වශයෙන්ම ඒවා පැහැදිලිව සඳහන් කළහොත් අවධානය වෙනතකට යොමු කරයි. මෙය නොකරන්න:

x = x + 1                 # Increment x

නමුත් සමහර විට මෙය ප්‍රයෝජනවත් වේ:

x = x + 1                 # Compensate for border

එවැනි උදාහරණයක් ලබා දී, මම පෞද්ගලිකව තවත් පියවරක් ඉදිරියට යාමට කැමැත්තක් දක්වන අතර මෙම ප්‍රකාශය ද ඉවත් කිරීමට උත්සාහ කරමි. උදාහරණයක් ලෙස, මම මෙහි පැමිණිය හැකිය:

border_compensation = 1
compensated_x = x + border_compensation

ඔබේ කේතය ස්වයං ලේඛනගත කිරීම නව අදහසක් නොවේ .

සත්‍ය ප්‍රශ්නයට ආපසු:

මේ සියල්ල සැලකිල්ලට ගෙන මෙම අදහස ග්‍රහණය කර ගන්නා හොඳ කේතීකරණ ප්‍රමිතීන් ලිවීමට පවා හැකිද?

PEP 8 මග පෙන්වීම සහ උදාහරණය මෙම අදහස ග්‍රහණය කර ගන්නා හොඳ කේතීකරණ ප්‍රමිතියක් පෙන්නුම් කරන බව මම විශ්වාස කරමි. ඉතින් ඔව්, එය කළ හැකි යැයි මම විශ්වාස කරමි.


1
"ලේඛකයාට වඩා භාෂාව හොඳින් දැන ගැනීමට පා er කයෙකු උපකල්පනය කළ යුතුය" එය නිසි ආකල්පය යැයි විශ්වාස කිරීමට මට අපහසුය. ඔවුන් බොහෝ දේ දන්නා බව මට පෙනේ , නමුත් සෑම කණ්ඩායමක්ම වෙනස් ය, සහ කණ්ඩායමේ සිටින සෑම පුද්ගලයෙකුම වෙනස් ය, එබැවින් මෙම විශේෂිත කරුණ පිළිබඳ හිස් ප්‍රකාශයක් බුද්ධිමත් බවක් නොපෙනේ.
බ්‍රයන් ඕක්ලි

4
මෙම මගපෙන්වීම නොමැතිව, කනිෂ් program ක්‍රමලේඛකයන්ට තමන් හැර වෙන කිසිවෙකුටත් සුළු කේත පැහැදිලි කරමින් අදහස් දැක්වීමක් කළ හැකි අතර, කනිෂ් program ක්‍රමලේඛකයන්ට කේතය වඩාත් පහසුවෙන් ලබා ගත හැකි වන පරිදි අමුතු විසඳුම් භාවිතා කරන මධ්‍යම මට්ටමේ ක්‍රමලේඛකයින්. මෙම මාර්ගෝපදේශය අතිරික්තය ඉවත් කරන අතර ප්‍රවීණ ක්‍රමලේඛකයෙකු පවා ඔවුන්ගේ කේතය වැඩි දියුණු කිරීම සහතික කරයි. මම කේතය නැවත බැලූ විට, මට සන්දර්භය අමතක වන්නට ඇත, නමුත් පොදුවේ ගත් කල, භාෂාව මුලින්ම ලියන කාලයට වඩා හොඳින් කරන්නේ කුමක්දැයි මම දනිමි.
ආරොන් හෝල්

4

මම හිතන්නේ ඔබ මේ ආකාරයේ අදහස් දැක්වීමක් දකින විට සහ මම ඉඳහිට මේ ආකාරයෙන් ලියන්නේ, එයට හේතුව කතුවරයා අදහස් දැක්වීම්වල පිරිවිතරයන් ලියා පසුව එක් එක් අදහස් දැක්වීම හරහා ක්‍රියාත්මක කිරීමයි.

කේතකරණ ප්‍රමිතියක් ලිවීමට අපට අභියෝග කරන්නේ නම් එහි ක්‍රියාකාරීත්වයට වඩා අවශ්‍ය ක්‍රියාකාරීත්වයට අනුව තේරුම් ගත හැකි කේතයක් නිපදවන අතර (එමඟින් දෝෂ හඳුනාගත හැකිය) එවිට අපි සැබවින්ම කතා කරන්නේ පිරිවිතරයන් නිර්වචනය කර, ලේඛනගත කර හා සම්බන්ධ කර ඇති ආකාරය ගැනද? අවසාන නිෂ්පාදනය?

සංස්කරණය කරන්න ----

පැහැදිලි කිරීම සඳහා පමණි. මම tdd එදිරිව ඒකක පරීක්ෂණ වලට අදහස් දක්වන්නේ නැහැ. නැතහොත් එක් පේළියකට අදහස් දැක්වීම හොඳ / නරක ය

මම යෝජනා කරන්නේ ඔබ අදහස් දැක්වීමේ ශෛලිය උදාහරණයේ දී දැක ඇති.

එම ප්‍රශ්න කිරීමෙන්, අදහස් දැක්වීම පිළිබඳ කේතීකරණ ප්‍රමිතියක් යම් ආකාරයක පිරිවිතර ලේඛන අවශ්‍යතාවයක් ලෙස සැබවින්ම ලිවිය හැකිද යන්න.

එනම් අදහස් දැක්වෙන්නේ කේතයෙහි අරමුණ පැහැදිලි කිරීම සඳහා වන අතර එය පිරිවිතරයකි


6
අවුරුදු 20 ක් තුළ මම කවදාවත් දැකලා නැහැ යම්කිසි අදහස් දැක්වීමක් ඔවුන්ගේ කේතය මේ ආකාරයෙන් මූලාකෘති කර පසුව සැබෑ කේතයෙන් හිඩැස් පුරවන්න. ඔබ පවසන දේ හෝ ඔබ පවසන දේ සාක්ෂාත් කර ගැනීම සඳහා දැනටමත් වෛෂයික ක්‍රමයක් තිබේ. එය ටෙස්ට් ඩ්‍රයිවින් ඩිවලොප්මන්ට් ලෙස හැඳින්වේ. ඒකක පරීක්ෂණ මඟින් පිරිවිතර නිර්වචනය කර ඇති අතර කේතය එම පිරිවිතරයට අනුකූලද යන්න. අදහස් නොමැතිව සියල්ලම.
ඇන්ඩ rew ටී ෆිනෙල්

9
ප්‍රශ්නයේ කේතය මේ සඳහා හොඳ නිදසුනක් යැයි මම නොසිතන අතර, පළමුවෙන් අදහස් දැක්වීමේදී ක්‍රියා පටිපාටියක් ලිවීමේ පුරුද්ද, පසුව ආපසු ගොස් කේතය පුරවා ගැනීම "කේත සම්පුර්ණ" ලෙස විශේෂයෙන් හැඳින්වේ කියවිය හැකි කේතයක් වන ඇන්ඩෘ ටී ෆින්නෙල් නිෂ්පාදනය කිරීමට උපකාරී වන පුහුණුව. එය ඔබගේ අත්දැකීමෙන් පිටත වුවද එය නිසැකවම නොඇසෙනු ඇත.
jscs

6
tdd මම විශ්වාස කරනවා
Ewan

2
ඔබ කතා කරන්නේ ව්‍යාජ කේත ක්‍රමලේඛන ක්‍රියාවලිය ගැනද? එහි අරමුණ වූයේ අදහස් දැක්වීම අඩු කිරීමයි. අදහස් දැක්වීමේ පොත කේතයේ තැබිය යුතු බව මට කවදාවත් මතක නැත. සංකල්පීය ක්‍රියා පටිපාටියක් ඉදිරිපත් කිරීම සඳහා අදහස් දැක්වීම යනු ඉහළ මට්ටමේ මිස පහත් මට්ටමේ නොවේ. ඔවුන් ලිවීමට අදහස් කරන සෑම පේළියක්ම අදහස් දැක්වුවහොත් ඔවුන්ට එම රේඛා ලිවීමට ඉඩ තිබුණි. එක් එක් පේළියේ නොව කේතයේ මූලධර්ම මූලාකෘතිගත කිරීම මෙහි අදහසයි. සෑම පේළියකටම අදහස් දැක්වීමට පොත යෝජනා නොකරයි. මෙම ප්‍රශ්නයේ කේන්ද්‍රය එයයි. මම වැරදියි, නමුත් මම විශ්වාස කරනවා එය දෙවන සංස්කරණයේ.
ඇන්ඩ rew ටී ෆිනෙල්

2
@JoshCaswell සහ Ewan, ඔව් එය විය බොහෝ අවුරුදු ගණනකට පෙර තාක්ෂනය හා ඇත්ත වශයෙන්ම යොදන TDD කළා. නමුත්, ඔබ අදහස් කළේ පසුව අදහස් මකා දැමීමටයි! තවද TDD විසින් එය පිරිවිතරයකට සරිලන කේතයක් නිර්මාණය කිරීමේ සංවේදී ක්‍රමයක් ලෙස සම්පූර්ණයෙන්ම ප්‍රතිස්ථාපනය කර ඇත.
ඩේවිඩ් ආර්නෝ

4

මේ සියල්ල සැලකිල්ලට ගෙන මෙම අදහස ග්‍රහණය කර ගන්නා හොඳ කේතීකරණ ප්‍රමිතීන් ලිවීමට පවා හැකිද? සම වයස් සමාලෝචනයක් සඳහා අදාළ වන නමුත් "42 වන පේළිය ගැන අදහස් දැක්වීමට ඔබට අමතක වී ඇත" යන්නට වඩා ප්‍රයෝජනවත් නොවන සටහන් නිපදවන බුද්ධිමත් පිරික්සුම් ලැයිස්තු ක්‍රියාකාරකමක් බවට පත් නොවනු ඇත.

මෙය පැහැදිලිවම ලියකියවිලි වලට වඩා ඉහළින් හා ඉක්මවා යයි - මෙය කේතය ව්‍යුහගත කර ඇති ආකාරය, කුමන ඇල්ගොරිතම තෝරාගෙන තිබේද යන්න ස්පර්ශ කරයි. එය අවශ්‍යතා විශ්ලේෂණය සහ සැලසුම කෙරෙහි පවා ස්පර්ශ විය හැකිය.

මගේ # 1 රීතිය වන්නේ "පැහැදිලිව ලේඛනගත නොකරන්න" යන්නයි. # 2 රීතිය "පැහැදිලි කේතය ලියන්න" යන්නයි.

ආරක්ෂාව-විවේචනාත්මක කේතය සඳහා (මට කවදාවත් වැඩ කිරීමට සිදු නොවූ, දෙවියන්ට ස්තූතියි), මෙය අත්‍යවශ්‍ය නමුත් ප්‍රමාණවත් තරම් පළමු පියවරට ආසන්නය. වැළකී සිටිය යුතු භාෂා අංගයන් අනිවාර්ය කිරීමට පවා එය පහළට පැමිණීමට ඉඩ ඇත (“ඔබ scanf( "%s", input ); කිසිම හේතුවක් නිසා භාවිතා නොකළ යුතුය” යන සම්මත එකකට වඩා වැඩි ගණනක් මම දැක ඇත්තෙමි ).


පෙනෙන දෙය නරඹන්නාගේ ඇසෙහි ඇත. නියමිත දිනට අනුව වෙනස් වේ.
ටෝනි එනිස්

3

ස්වයං ලේඛනගත කිරීමේ කේතයේ හොඳම පුහුණුව ප්‍රධාන ධාරාවේ සම්මුතියක් නොවේ - පහසුවෙන් තේරුම් ගත හැකි කේතය ගුප්ත කේතයට වඩා හොඳ බව බොහෝ දෙනා පිළිගත හැකි වුවත්, සංකීර්ණ කේත සෑම විටම ප්‍රතිනිර්මාණය කළ යුතුද නැද්ද යන්න පිළිබඳව සියලු දෙනා එකඟ නොවෙති. එය.

නමුත් මෙම විවාදය තේරුම් ගැනීමට අපහසු කේත කෑලි ගැන - තවද ඔබ කතා කරන්නේ සෑම කේත පේළියක්ම අදහස් දැක්වීම ගැන ය . තේරුම් ගැනීමට අපහසු කේත රේඛා ඉතා දුර්ලභ විය යුතුය - ඔබ ස්මාර්ට්-බූරුවන් එක්-ලයිනර් අධික ලෙස භාවිතා කරනවාට වඩා ඔබේ රේඛා බොහොමයක් මේ ආකාරයට සංකීර්ණ නම් ඔබ නතර කළ යුතුය! රේඛාවක භූමිකාව සමහර විට තේරුම් ගැනීමට ටිකක් අපහසු විය හැකි නමුත් එය විශාල කේත කැබැල්ලක සන්දර්භය තුළ එය ඉටු කරයි - රේඛාවම කරන දෙය සෑම විටම පාහේ සරල ය.

එබැවින්, ඔබ අදහස් දැක්වීමේ රේඛා නොවිය යුතුය - ඔබ කේත කොටස් අදහස් දැක්විය යුතුය. විශේෂිත අදහස් ඔවුන් යොමු කරන රේඛා අසල තැබිය හැකි නමුත් මෙම අදහස් තවමත් විශාල කේතයට යොමු වේ. රේඛාව කරන්නේ කුමක්ද / ඇයි යන්න ඔවුන් විස්තර නොකරයි - ඔවුන් එම කේතයේ කරන්නේ කුමක්ද සහ / හෝ එම කේතයේ එය අවශ්‍ය වන්නේ ඇයිද යන්න විස්තර කරයි.

එබැවින්, අදහස් දැක්විය යුතු රේඛා නොව විශාල කේත කැබලි වේ. සෑම කේත කැබැල්ලක්ම අදහස් දැක්විය යුතුද? හැරල්ඩ් ඇබෙල්සන් පැවසුවේ “ මිනිසුන්ට කියවීම සඳහා වැඩසටහන් ලිවිය යුතු අතර යන්ත්‍ර ක්‍රියාත්මක කිරීම සඳහා අහම්බෙන් පමණි ”. නමුත් අදහස් ප්රකාශ පමණක් ජනතාව කියවීම සඳහා - යන්ත්රය ඔවුන් ක්රියාත්මක වන්නේ නැත. ඔබේ කේතීකරණ ප්‍රමිතීන් සෑම පේළියකම / කේත කැබැල්ලක අතිරික්ත අදහස් ලිවීමට බල කරන්නේ නම්, ඔබ ඒවා ලිවීමට අවශ්‍ය සංවර්ධකයාට පමණක් බරක් නොවේ - ඒවා කියවිය යුතු සංවර්ධකයින්ටද ඔබ බරක් වේ !

මෙය ගැටළුවක්, මන්ද ඔබ කියවන බොහෝ අදහස් අතිරික්ත වන විට, ඔබ ඒවා කෙරෙහි අවධානය යොමු කිරීම නවත්වයි (මන්ද ඒවා අතිරික්තයක් වනු ඇති බව ඔබ දන්නා නිසා), එවිට ඔබට වැදගත් අදහස් මග හැරෙනු ඇත . ඒ නිසා මම කියනවා - වැදගත් විවරණයක් පමණක් ලියන්න, එවිට යමෙකු කේතයේ අදහස් දැක්වීමක් දුටු විට කේතය තේරුම් ගැනීම සඳහා එය කියවීම වටී යැයි ඔවුන් දැන ගනු ඇත.


1
වැදගත් අදහස් අතපසු කරන්න: +1. ආරම්භ වන වාක්‍යය: "ඔවුන් විස්තර නොකරයි" අනුගමනය කිරීම පහසු කිරීම සඳහා යම් ප්‍රතිව්‍යුහගත කිරීමක් භාවිතා කළ හැකිය.
candied_orange

3

IMHO එය දෙකම කළ යුතුය. සෑම පේළියක්ම අදහස් දැක්වීම මෝඩය, මන්ද ඔබ වැනි රේඛා සමඟ සුළං හමයි

  i++;    /* Increment i */

ඔබට වැඩි කිරීමට අවශ්‍ය ඇයිද යන්න පිළිබඳව කිසිදු හෝඩුවාවක් නොමැතිව. එය ටිකක් පුළුල් කරන්න, සහ ඔබට සාමාන්‍ය ඩොක්සිජන් ශෛලියේ අදහස් ඇති අතර, එමඟින් කේතය කුමක් සඳහාද, හෝ එය ක්‍රියාත්මක වන්නේ කෙසේද යන්න පිළිබඳ කිසිදු අදහසක් ලබා නොදී විශාල වචන ප්‍රමාණයක් නිපදවයි. (අවම වශයෙන් මා මෙතෙක් දැක ඇති තාක් දුරට: එවැනි ක්‍රමයක් භාවිතා කරමින් ප්‍රයෝජනවත් ලියකියවිලි ලිවිය හැකි බව මම පිළිගනිමි, නමුත් මම හුස්ම ගන්නේ නැත.)

OTOH, ඔබ ශ්‍රිතයේ ප්‍රධාන කොටසේ (හෝ ඕනෑම සමූහයක් තාර්කික නම්) හොඳ අදහස් දැක්වීමක් ලියන්නේ නම්, ඉටු කළ යුතු දේ දෙකම විස්තර කරයි, සහ එය පැහැදිලිව පෙනෙන ප්‍රමාණයට වඩා අඩු නම්, ඔබට ප්‍රයෝජනවත් යමක් තිබේ. ඔබ මා නම්, ඔබට අදාළ සමීකරණ සඳහා ලාටෙක්ස් කේතය හෝ කඩදාසි පිළිබඳ සඳහනක් ඇතුළත් කළ හැකිය, උදා: "මෙය හැමිල්ටන්-ජාකොබි සමීකරණ විසඳීම සඳහා වෙනෝ යෝජනා ක්‍රමයක් ක්‍රියාත්මක කරයි.


2
ඩොක්සිජන් අදහස් දැක්වීම සඳහා +1: මෙය හරියටම මගේ කේතයට ඩොක්සිජන් “ලියකියවිලි” ඇතුළත් කිරීමට මගේ විරුද්ධත්වයයි; 95% ක්ම එය ක්‍රියාකාරී අත්සනෙන් දැනටමත් පැහැදිලිව පෙනෙන දේ පුනරාවර්තනය කරයි. මමත්, කිසිම ඩොක්සිජන් ලියකියවිලි කිසිවක් දැක නැත. එම අදහස් ලිවීම තුන් වතාවක් කාලය නාස්ති කරයි: වරක් අදහස් ලිවීමට, වරක් ඒවා නැවත කියවීමට සහ එක් වරක් පරණ අදහස් අන්තර්ගතයෙන් ඇති වූ ගැටළු නිරාකරණය කිරීමට.
cmaster -

1
ඔබ ඔබටම පටහැනි නොවේද? කළු පෙට්ටියක දෘෂ්ටිකෝණයකින් එය කරන දේ විස්තර කරන විවරණයක් තිබීම අත්‍යවශ්‍ය බව අපි දෙදෙනාම එකඟ වනු ඇතැයි මම සිතමි - "මෙම යෙදවුම් ඇතුළට යයි, ශ්‍රිතය මෙය කරයි, මෙම ප්‍රතිදානයන් එළියට එයි". එය ශ්‍රිතය ලියූ පුද්ගලයා සහ ශ්‍රිතය භාවිතා කරන පුද්ගලයින් අතර ගිවිසුමක් සාදයි. ඩොක්සිජන් හි පරමාර්ථය වන්නේ එම අදහස්වල ආකෘතිය විග්‍රහ කොට සෙවිය හැකි / සුචිගත කළ හැකි ආකාරයෙන් ප්‍රමිතිකරණය කිරීමයි. ඉතින් ඇයි ඔයා "හොඳ අදහස් වාරණ" අවශ්ය වනු නමුත් නොහැකි වූ, සම්මත human- සහ මැෂින්-කියවිය හැකි එය අවශ්ය ද?
ග්‍රැහැම්

JSDoc, JavaDoc සහ Doxygen වැනි අදහස් දැක්වීමේ ප්‍රමිතියක් භාවිතා කිරීම යනු සෙවිය හැකි සහ මිනිසුන්ට කියවිය හැකි ලියකියවිලි සැපයීම සඳහා ය. මෙම පිළිතුරේ සඳහන් කේත රේඛාවට ඩොක්සිජන් සමඟ කිසිදු සම්බන්ධයක් නැත. එම ප්‍රකාශය විග්‍රහ කර ප්‍රතිදානය කරන ලද ලියකියවිලි වල ඇතුළත් කිරීමක් සිදුකරන රීති මාලාවක් ක්‍රියාත්මක වන බව මට සිතාගත නොහැකිය. ඔබ ජේඑම්අයි, ජාවා ස්ටෑන්ඩර්ඩ් පුස්තකාල ආදිය සඳහා ඩොක්ස් දෙස බලන විට ඒවා සියල්ලම නිපදවනු ලබන්නේ ඩොක්සිජන් හා සමාන මෙවලමක් භාවිතා කරමිනි. එහි අරමුණ එයයි. මෙහි සඳහන් දේ නොවේ
ඇන්ඩ rew ටී ෆිනෙල්

මම මෙය හදා ගන්නේ නැත - කැනේඩියානු අවශ්‍යතාවයක් සපුරාලීම සඳහා, මා සේවය කළ සමාගමක්, සංවර්ධකයින් විසින් පෙර සකසනයක් ලිවීමට OP හි උදාහරණය මෙන් හරියටම අදහස් එකතු කරන ලදී. මම හිතන්නේ අපේ "C ADD 1 TO I" හෝ එවැනි සමහරක් විය. එය FORTRAN විය, එබැවින් ලූපයන් "1 සිට 10 දක්වා C LOOP" අගය කරන ලදී. කේතය නිෂ් less ල අදහස් දැක්වීම් සමඟ පටවා ඇත. මම කේතය නඩත්තු කරන නිසා මම ඒ සියලු මකා දැමුවෙමි. කිසිවෙකු මට කිසිවක් කීවේ නැත.
ටෝනි එනිස්

2

ප්‍රවාහ ප්‍රස්ථාර නැවත ගෙන ඒමට කාලයයි! (ඇත්ත වශයෙන්ම නොව විනාඩියක රැඳී සිටින්න)

අනෙක් දවසේ මගේ පැරණි ගැලීම් අච්චුව මට හමු විය. මම එය ගෙදර වැඩ සහ විහිළු සඳහා පමණක් භාවිතා කර ඇත (ඔබ හොඳ මෝඩ ගැලීම් සටහනකට ආදරය කළ යුතුය). නමුත් මේ කාලය වන විටත් ප්‍රවාහ ප්‍රස්ථාර භාවිතා කරමින් සිටි බොහෝ වාණිජ ක්‍රමලේඛකයින් ඒවා ස්වයංක්‍රීයව කේතයෙන් ජනනය කරමින් සිටියහ (එය ප්‍රවාහ සටහනේ මුල් අරමුණ මුළුමනින්ම අවතක්සේරු කරයි, එය වඩා හොඳ කේත ලිවීමේ සහායකයකු විය යුතු අතර යන්ත්‍ර කේතයට බෙහෙවින් ප්‍රයෝජනවත් විය. කෙසේ වෙතත් ඉහළ මට්ටමේ භාෂාවන් සමඟ ගැලීම් සටහනේ කිහිලිකරුවක සිට කුහරයක් දක්වා වෙනස් විය. ඇයි? ගැලීම් සටහනේ සාරාංශය කේතය හා සමාන විය. හොඳ අදහස් දැක්වීම් කේතයට වඩා වෙනස් මට්ටමේ වියුක්ත වේ.මෙම පහසුම ක්‍රමය වන්නේ කේතය හසුරුවන්නේ ඇයිද යන්න පිළිබඳව අදහස් දැක්වීමයි.


ගැලීම් සටහන් කිසි විටෙකත් පහව නොගිය බව ඔබට දැනුම් දීමට මට කණගාටුයි.
කුහුඹු පී

හොඳ අදහස් දැක්වීම් කේතයට වඩා වෙනස් මට්ටමක වියුක්ත වේ . ඇහුම්කන් දෙන්න!
candied_orange

1
මෙය යහපත් උපදෙසක් විය හැකි නමුත්, එක් වාක්‍යයක් හැර, ඇසූ ප්‍රශ්නය ආමන්ත්‍රණය කරන බවක් නොපෙනේ.
බ්‍රයන් ඕක්ලි

0

සඳහන් කළ පරිදි මම ප්‍රශ්නයට පිළිතුරු දෙන්නෙමි:

මේ සියල්ල සැලකිල්ලට ගෙන මෙම අදහස ග්‍රහණය කර ගන්නා හොඳ කේතීකරණ ප්‍රමිතීන් ලිවීමට පවා හැකිද?

ඔව්. WYSIWYG. හොඳ කේතීකරණ ප්‍රමිතියක් වචනාර්ථයෙන් " පහත කේතය කරන්නේ කුමක්ද සහ ඇයි යන්න පා the කයාට පැහැදිලි වේ ".

වෙනත් වචන වලින් කිවහොත්, කේත කියවීමේ හැකියාව පිළිබඳ මගේ කේත සමාලෝචන වචනාර්ථයෙන්, 1-1, මගේ මානසික තත්වයෙන් පැන නගී

මම, පා er කයෙකු වශයෙන්, (වඩා හොඳ, අවම ප්‍රමිතියක් ලෙස, අඩු පළපුරුද්දක් ඇති නමුත් සාධාරණ පා er කයෙකුගේ මානසික ආකෘතියක්), පහත දැක්වෙන කේතයේ අරමුණ හෝ වැඩ කිරීමේ ක්‍රමය තේරුම් නොගනිමි.

පොදුවේ ගත් කල, මිනිසුන්ට "මෙය වඩාත් කියවීමේ හැකියාව අවශ්‍යයි" යනුවෙන් ඇසෙන විට "මම ගොළු නොවී යැයි ඔබ විශ්වාස කරන ජ්‍යෙෂ් develop සංවර්ධකයෙකු ලෙස, මුලදී මෙම කේතය තේරුම් ගෙන නැත, නැතහොත් එය එහි තිබුනේ ඇයි හෝ කුමක් ද? එසේ කරයි, එබැවින් එය පැහැදිලි කළ යුතුය ".

මෙය දේශනය "ඔබ අර්ථ විරහිත ප්‍රමිතියක් අනුගමනය නොකළේ" සිට "ඔබේ කේතයට නිශ්චිත කියවීමේ .නතාවයක් ඇත." ප්‍රායෝගික ගැටළුවක් ඇති කරයි " වෙත මාරු කරයි.

පැහැදිලි කළ යුතු දෙවන ප්‍රමිතිය වන්නේ “අළුයම 2 හදිසි පරීක්ෂණය” ය.

මෙම කේතය පිළිබඳ අත්දැකීම් නොමැති ඔබගේ උපස්ථයට, අළුයම 2 නිෂ්පාදන හදිසි පාලම් ඇමතුමකදී, ඔබ චිලී ඇන්ඩීස් හි නිවාඩුවක් ගත කරන විට, ජංගම දුරකථනයක් නොමැති විට කේතය නිදොස්කරණය කිරීමේදී ඇති ගැටළුව කුමක්දැයි වටහා ගත හැකිද?

මෙය ආත්මීය යැයි සිතිය හැකි නමුත් ප්‍රායෝගිකව මැනීම පහසුය: නිෂ්පාදන හදිසි අවස්ථා වලදී රාත්‍රියේදී නිදොස්කරණය කිරීම අපේක්ෂා කරන අහඹු කනිෂ් team කණ්ඩායම් සාමාජිකයෙකු අමතන්න, සහ අදහස් නොදක්වන කේතය ක්‍රියාත්මක වන්නේ කෙසේද සහ එය ඇයි යන්න පැහැදිලි කිරීමට ඔවුන්ගෙන් ඉල්ලා සිටින්න. එතන.


0

මෙම පිළිතුර බොහෝ ගැටළු ආවරණය කරයි, කෙසේ වෙතත් එක් වැදගත් දෙයක් තිබේ.

පහත දැක්වෙන රේඛා ඔස්සේ අදහසක් ග්‍රහණය කර ගැනීමට මා කැමතිය: කේතයේ සෑම පේළියක්ම, අනුක්‍රමයක්, ප්‍රකාශයක්, කොටසක්, ව්‍යුහයක්, ශ්‍රිතයක්, ක්‍රමයක්, පන්තියක්, පැකේජයක්, සංරචකයක්, ...

කේතයෙන් ප්‍රලේඛන ජනනය කිරීමට මෙවලම් තිබේ, උදාහරණයක් ලෙස ඩොක්සිජන්. ඔබ එවැනි මෙවලම් භාවිතා කරන්නේ නම්, ලිපිගොනු, කාර්යයන්, පන්ති ආදිය අදහස් දැක්වීම අර්ථවත් කරයි. ශ්‍රිතයේ නම ස්වයං පැහැදිලි කිරීමක් වුවද, මම තවමත් එය කරන්නේ අනුකූලතාව සඳහා ය, මන්ද ලේඛනය කියවන පුද්ගලයින් කෘත ful වනු ඇත.


1
නමුත් එවැනි මෙවලම් මගින් ජනනය කරන ලද "ප්‍රලේඛනය" අවම වශයෙන් මගේ අත්දැකීම් අනුව, කිසිදු ලේඛනයකට වඩා අඩු අගයක් ගනී, මන්ද එය පරිශීලකයාට ප්‍රයෝජනවත් තොරතුරු ලබා නොදෙන හෙයිනි (සහ ඒවා නොවන දේ උපුටා ගැනීමට උත්සාහ කරන කාලය නාස්ති කිරීමට හේතු වේ. පවතින තොරතුරු), නමුත් සංවර්ධකයින් ඔවුන්ගේ කේතය නිසි ලෙස ලේඛනගත කර ඇතැයි සිතමින් ඔවුන්ව රවටා ගනී.
jamesqf

@jamesqf ඔව්, කාර්යයන් අඩක් ලේඛනගත කර නොමැති විට සහ අනෙක් භාගය නරක ලෙස. කෙසේ වෙතත්, ඩොක්සිජන් හට හොඳ ලියකියවිලි ජනනය කළ හැකි අතර, සංවර්ධකයින් ඔවුන්ගේ කාර්යයන්, පන්ති ආදිය පිළිබඳව නිසි ලෙස අදහස් දැක්වීය
BЈовић

-1

දැනට පවතින බොහෝ පිළිතුරු හොඳින් සවිස්තරව දක්වා ඇත, නමුත් පිළිතුරු දීම වැදගත් යැයි මට හැඟුණි:

... [අදහස්] එය සම වයස් සමාලෝචනයක් සඳහා අදාළ වන නමුත් බුද්ධිමත් පිරික්සුම් ලැයිස්තු ක්‍රියාකාරකමක් බවට පත් නොවනු ඇත ...

මට සම්මතයක් විය හැකි එකම අදහස් වලට පිළිතුරු සැපයිය හැක්කේ ඒවා නැති වූ විට දක්නට ලැබෙන අදහස් මොනවාදැයි විමසීමෙනි . වෙනත් වචන වලින් කිවහොත්: IDEs හෝ ප්‍රලේඛන මෘදුකාංග භාවිතා කරන අදහස්.

මෙය පැවසුවහොත්, මෙය සංවර්ධකයින් විසින් භාවිතා කරන මෙවලම් වලට යටත් වන අතර එවැනි මෘදුකාංග භාවිතා කරන සියලුම අදහස් එකිනෙකා තරම් ප්‍රයෝජනවත් නොවේ .

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.