වේලාසනින් ප්‍රශස්තිකරණය කිරීම එතරම් නරක ඇයි?


170

ප්‍රශස්තිකරණය ගැන මඳක් සොයා බැලීමෙන් පසු, ක්‍රීඩාවක් කල්තියා ප්‍රශස්තිකරණය කිරීම විශ්වීය වශයෙන් පිළිගත් පාපයක් බව මම (වචනාර්ථයෙන් සෑම තැනකම) සොයාගෙන ඇත.

මට මෙය සැබවින්ම තේරෙන්නේ නැත, පළමු වරට කාර්ය සාධනය මනසින් සංවර්ධනය කිරීමට වඩා ක්‍රීඩාවේ සමහර මූලික ව්‍යුහයන් අවසානයේ වෙනස් කිරීම ඇදහිය නොහැකි තරම් අපහසු නොවේද?

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

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


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

3
මෙයට පිළිතුරු දීම පහසු විය නොහැක: "එය කාලය නාස්ති කරයි". "සාප්පු යාමේදී මුදල් ඉතිරි කිරීමට උත්සාහ කරන්නේ ඇයි?"
ෆැට්ටි

28
අනෙක් අතට, බොහෝ ඉංජිනේරුවන් සරලව පවසන පරිදි “ඉක්මණින් ප්‍රශස්තිකරණය නොකරන්න” යන වාක්‍යය වැරදිය . වාක්‍යය සරලව කිවහොත්, "ඔබ ප්‍රශස්තිකරණය කළ යුතු දේ දැන ගන්නා තෙක් ප්‍රශස්තිකරණය නොකරන්න". ඉතින්, සරලවම කිවහොත්, A, B සහ C පද්ධති තුනක් තිබේ නම්, එය කිසිසේත්ම අර්ථ විරහිත ප්‍රශස්තිකරණයකි නම්, එය හැරෙන්නේ නම්, A යනු කිසිම ආකාරයකින් බාධකයක් නොවන අතර C ඇත්ත වශයෙන්ම බාධකයයි. එම උදාහරණයේ දී, පැහැදිලිවම, A ප්‍රශස්තිකරණය කිරීම කාලය නාස්ති කිරීමක් වනු ඇත. ඒ නිසා - - සරලවම ඔබ දන්නා තෙක් සඵලදායිත්වය නැහැ වන එහි අර්ථය සෑම, එය සරළ දෙයක් කරන බව ද: ඒ, උපරිම ඵල ලබා ගැනීම සඳහා ක්රි.පූ.
ෆැට්ටි

2
සංවර්ධනයේදී ඔබගේ යෙදුමේ කාල පන්තිය ප්‍රශස්ත කිරීම සාමාන්‍යයෙන් නියත වේලාවක් වන ලූපයකින් උපදෙස් කිහිපයක් රැවුල බෑමට උත්සාහ කිරීමට වඩා බෙහෙවින් වෙනස් ය. "මේ ආකාරයට ලූපයක් ලිවීමෙන් එක් CPU උපදෙස් ඉතිරි වේ" වෙනුවට O (n) එදිරිව O (n log n) වෙත අවධානය යොමු කරන්න.

1
@phyrfox ඇත්ත වශයෙන්ම, බර පැටවීමේ කාලය අඩු කිරීම මට වඩාත් ආකර්ෂණීය බව පෙනේ. තත්පර තුනක් පැටවීමේ කාලය කැපී පෙනේ. 55fps සිට 60fps දක්වා සැලකිය යුතු දැයි මට විශ්වාස නැත.
user253751

Answers:


237

පෙරවදන:

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

"කරන්න සඵලදායිත්වය අඩු මාසයෙන් නැත" නැහැ නැහැ "ලිවීම් කේතය ඔබ දන්නා Knuth ඔබ අවසන් වන තුරු එය පිරිසිදු කිරීමට අවසර නෑ පවසයි නිසා, නරක" අදහස්

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

මෙයින් අදහස් කරන්නේ, සැකයක් ඇති විට , අප කළ යුත්තේ:

  • ලිවීමට සරල, තේරුම් ගැනීමට පැහැදිලි සහ ආරම්භකයින් සඳහා වෙනස් කිරීමට පහසු කේත වලට මනාප දෙන්න

  • තවදුරටත් ප්‍රශස්තිකරණය අවශ්‍ය දැයි පරීක්ෂා කරන්න (සාමාන්‍යයෙන් ධාවන වැඩසටහන පැතිකඩ කිරීමෙන්, ගණිතමය විශ්ලේෂණයක් සිදු කරන පහත දැක්වෙන සටහනක් වුවද - එහි ඇති එකම අවදානම ඔබේ ගණිතය නිවැරදි දැයි පරීක්ෂා කර බැලිය යුතුය)

නොමේරූ ප්‍රශස්තිකරණය නොවේ :

  • ඔබේ කේතය ඔබේ අවශ්‍යතාවන්ට ගැලපෙන අයුරින් සැකසීමට වාස්තු විද්‍යාත්මක තීරණ - සුදුසු මොඩියුල / වගකීම් / අතුරුමුහුණත් / සන්නිවේදන පද්ධති තෝරාගත් ආකාරයකින් තෝරා ගැනීම.

  • අමතර කාලයක් ගත නොවන හෝ ඔබේ කේතය කියවීමට අපහසු නොවන සරල කාර්යක්ෂමතාව. ශක්තිමත් ටයිප් කිරීම වැනි දේවල් කාර්යක්ෂම විය හැකි අතර ඔබේ අභිප්‍රාය වඩාත් පැහැදිලි කරයි. නැවත නැවත සෙවීම වෙනුවට යොමු කිරීමක් තවත් උදාහරණයකි (ඔබේ නඩුව සංකීර්ණ හැඹිලි-අවලංගු කිරීමේ තර්කනය ඉල්ලා නොසිටින තාක් කල් - ඔබ මුලින් සරල ක්‍රමය විස්තර කරන තෙක් එය ලිවීම නවත්වන්න).

  • කාර්යය සඳහා නිවැරදි ඇල්ගොරිතම භාවිතා කිරීම. මාර්ග සිතියම්කරණ ප්‍රස්ථාරයක් පරිපූර්ණ ලෙස සෙවීමට වඩා A * වඩාත් ප්‍රශස්ත හා සංකීර්ණ වේ. එය කර්මාන්ත ප්‍රමිතියකි. තේමාව පුනරාවර්තනය කිරීම, මේ වගේ උත්සාහ කළ හා සත්‍ය වූ ක්‍රමවේදයන්ට ඇලී සිටීම ඇත්ත වශයෙන්ම ඔබ සරල දෙයක් කළත් දන්නා හොඳ පුරුදු වලට විරුද්ධ නම් ඔබේ කේතය තේරුම් ගැනීමට පහසු වේ. පෙර ව්‍යාපෘතියක එක් අංගයක් වන X විශේෂාංගය ක්‍රියාවට නැංවීමේ අත්දැකීම් ඔබට තිබේ නම්, මෙම ව්‍යාපෘතිය සැබෑවක් බව දැන ගැනීමට ඔබට නැවත එම බාධකයටම පහර දීමට අවශ්‍ය නොවේ - ඔබට අතීතයේ සිට ක්‍රියාත්මක වූ විසඳුම් නැවත භාවිතා කළ හැකිය. ක්‍රීඩා.

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

එබැවින් දැන් එය නිරවුල් කිරීමත් සමඟම, මෙම ප්‍රතිපත්තිය ක්‍රීඩා වලදී විශේෂයෙන් ප්‍රයෝජනවත් වන්නේ ඇයිද යන්න පිළිබඳව:


ගේම්දේව් හි විශේෂයෙන්, පුනරාවර්තන වේගය වඩාත්ම වටිනාම දෙයයි. "විනෝදය සොයා ගැනීමට" උත්සාහ කරමින්, නිමි ක්‍රීඩාව සමඟ නැව්ගත කිරීමට වඩා බොහෝ අදහස් අපි බොහෝ විට ක්‍රියාත්මක කර නැවත ක්‍රියාත්මක කරන්නෙමු.

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

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

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

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

නාට්යමය උදාහරණයක් ගැනීමට: ඔබේ ක්රීඩාව GPU- බැඳී තිබේ නම් (අසාමාන්ය නොවේ), එම කාලය තුළ CPU වැඩ අධි-ප්රශස්තිකරණය හා නූල් කිරීම සඳහා වැය කළ කාලය කිසිසේත් කිසිදු ප්රතිලාභයක් නොලැබෙනු ඇත. වඩා හොඳ ක්‍රීඩක අත්දැකීමක් සඳහා ඒ සියලු ක්‍රීඩා පැය ඒ වෙනුවට ක්‍රීඩා අංග ක්‍රියාත්මක කිරීමට හා ඔප දැමීමට වැය කළ හැකිය.

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

එබැවින්, කේත සනීපාරක්ෂාව සහ අයවැයකරණය හැරුණු විට (උදා: ඔබට පහසුවෙන් නැවත භාවිතා කළ හැකි නම් නැවත නැවත දේවල් සොයන්න / ගොඩනඟන්න එපා, ඔබේ මාර්ග සැකසුම් / භෞතික විද්‍යා විමසුම් හෝ ජීපීයූ කියවීම් නිහතමානීව තබා ගන්න.) සැබෑ ගැටලු කොතැනදැයි දැන ගැනීමට පෙර ප්‍රශස්තිකරණය කිරීම produc ලදායිතාවයට හොඳ යැයි පෙනේ - වැරදි දේ ප්‍රශස්තිකරණය කිරීම සඳහා කාලය නාස්ති කිරීමෙන් අපව බේරා ගැනීම සහ අපගේ කේතය සරල හා සමස්තයක් ලෙස වෙනස් කිරීමට පහසුය.


38
මෙහි StackOverflow පිළිබඳ තවත් සාකච්ඡාවක් ඇත, කේතයේ කියවීමේ හැකියාව සහ පැහැදිලිකමෙහි වැදගත්කම අවධාරණය කරයි, සහ නොමේරූ ප්‍රශස්තිකරණය කිරීමෙන් කේතය තේරුම් ගැනීමට අපහසු (සහ දෝෂ හඳුන්වා දීමට පහසු).
ඩී.එම්.ග්‍රෙගරි

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

1
@ බෝල්ඩ්‍රික් මම කියන්නේ එය අතිරේක පිළිතුරක් ලෙස බෙදා ගැනීම වටී. (මම එය ඉහළට ඔසවා තබමි!) මගේ පිළිතුර ගෘහ නිර්මාණ ශිල්පයේ වැදගත්කම සහ මුලින් විශාල ගැටළු ඇතිවීම වළක්වා ගැනීමට සැලසුම් කිරීම මඟ හැරේ. "පොදුවේ වැඩසටහන් සංවර්ධනය" පිළිබඳ ගිස්මෝගේ සඳහනට අනුව, මෙම නොමේරූ ප්‍රශස්තිකරණය පිළිබඳ සංකල්පය පැමිණෙන්නේ එතැනිනි. ඉහත දක්වා ඇති පරිදි, වැරදි ප්‍රශස්තිකරණය නැතිවූ ප්‍රශස්තිකරණය මෙන් පහසුවෙන් තාක්ෂණික ණය බවට පත්විය හැකිය. නමුත් අප අවධාරණය කළ යුත්තේ අප කිසි විටෙකත් හිතාමතාම මන්දගාමී ආකාරයකින් කටයුතු නොකරන බවත්, සැබෑ ගැටළු පැතිකඩ කර සොයා ගන්නා තෙක් සරල බව සහ පැහැදිලි භාවය සඳහා වැඩි කැමැත්තක් දක්වන
බවත්ය

1
මම ඔබෙන් බොහෝ අද්දැකීම් අඩු අය වුවත්, මම කිව යුත්තේ මෙම “සියලු නපුරේ නොමේරූ ප්‍රශස්තිකරණ මූලය” ටිකක් අමුතුයි. අවුරුදු දෙකකට පෙර හෝ ඊට පෙර මම යුනිටි 3 ඩී හි යමක් කිරීමට උත්සාහ කළෙමි. මම ලින්ක් විමසුම් කිහිපයක් ලිව්වෙමි. මම මගේ කේතය දෙස බැලූ විට දැඩි සැකයක් ඇති විය. මම හිතුවේ ගණනය කිරීමේ සංකීර්ණතාව භයානකයි. මම කඩදාසි පත්‍රයක් ගෙන මෙම විමසුම් අපේක්ෂිත ප්‍රමාණයේ දත්ත සැකසීමට පැය ගණනක් ගතවනු ඇතැයි ගණනය කළෙමි. ඒ නිසා මම මෙතනින් එහාට ටිකක් හැඹිලිය එකතු කළා. විමසීම් හොඳින් ක්‍රියාත්මක විය.
gaazkam

3
ඒ නිසා ඔබ නිසි උත්සාහය දැරූ අතර ඔබේ කේතය මුලින් පැහැදිලි සහ වඩාත්ම බුද්ධිමත් දෙයින් වෙනස් කිරීමට පෙර ගැටලුව සැබෑ බව තහවුරු කර ගත්තා. ඒ කියන්නේ ඔබේ ප්‍රශස්තිකරණය නොමේරූ එකක් නොවේ. ;) “නොමේරූ ලෙස අධික ලෙස ආහාර ගැනීමෙන් වළකින්න” යන්නෙන් “අනවශ්‍ය ලෙස මිල අධික කේතයක් ලිවීම” යන්නෙන් අදහස් නොකෙරේ - නිශ්චිත කාර්යසාධන ගැටලුවක් හඳුනා ගන්නා තෙක් සරල බව, පැහැදිලි බව, වෙනස් කිරීමේ පහසුව සඳහා. අදහස් සාකච්ඡා කිරීම සඳහා අදහස් නොකෙරේ, එබැවින් ඔබ මේ ගැන තවදුරටත් කතා කිරීමට කැමති නම් අපට කතාබස් කිරීමට හැකිය.
ඩී.එම්.ග්‍රෙගරි

42

සටහන: මෙම පිළිතුර ආරම්භ වූයේ ඩී.එම්.ග්‍රෙගරිගේ පිළිතුර පිළිබඳ අදහස් දැක්වීමක් ලෙස වන අතර, එබැවින් ඔහු ඉදිරිපත් කරන හොඳ කරුණු අනුපිටපත් නොකරයි.

"පළමු වරට කාර්ය සාධනය මනසින් සංවර්ධනය කරනවාට වඩා අවසානයේ ක්‍රීඩාවේ සමහර මූලික ව්‍යුහයන් වෙනස් කිරීම ඇදහිය නොහැකි තරම් අපහසු නොවේද?"

මෙය මට නම් ප්‍රශ්නයේ හරයයි.

ඔබේ මුල් නිර්මාණය නිර්මාණය කරන විට, ඔබ කාර්යක්ෂමතාව සඳහා සැලසුම් කිරීමට උත්සාහ කළ යුතුය - ඉහළ මට්ටමින්. මෙය අඩු ප්‍රශස්තිකරණයක් වන අතර ව්‍යුහය පිළිබඳ වැඩි යමක් වේ.

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

සැලසුම් තේරීම් සමඟ ඉදිරිපත් කළ විට, ඔබට කිරීමට අවශ්‍ය දේට වඩාත් ගැලපෙන එකක් තෝරා ගන්න.

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

විකල්ප:

  • දෙවන තොටුපලක් මිලදී ගන්න (සමාන්තර සැකසුම්)
  • තොටුපළට තවත් කාර් තට්ටුවක් එක් කරන්න (ගමනාගමනය සම්පීඩනය)
  • තොටුපලේ එන්ජිම වේගවත් කිරීම සඳහා වැඩි දියුණු කරන්න (නැවත ලිවීමේ සැකසුම් ඇල්ගොරිතම)

ඔබේ මුල් නිර්මාණය හැකි තරම් මොඩියුලරයක් බවට පත් කිරීමට ඔබ උත්සාහ කළ යුතු ස්ථානය මෙයයි.
ඉහත සියල්ලම හැකි ප්‍රශස්තිකරණයන් වන අතර ඔබට මේ තුනම කළ හැකිය.
නමුත් විශාල ව්‍යුහාත්මක වෙනස්කම් නොමැතිව ඔබ මෙම වෙනස්කම් කරන්නේ කෙසේද?

ඔබට පැහැදිලිව අර්ථ දක්වා ඇති අතුරුමුහුණත් සහිත මොඩියුලර් සැලසුමක් තිබේ නම්, මෙම වෙනස්කම් ක්‍රියාත්මක කිරීම සරල විය යුතුය.
ඔබේ කේතය තදින් සම්බන්ධ නොවන්නේ නම්, මොඩියුලවල වෙනස්කම් අවට ව්‍යුහයට බලපාන්නේ නැත.

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

tl; dr:

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

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


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

2
ඔබට මෙම මොඩියුලර් අතුරුමුහුණත් සඳහා ස්වයංක්‍රීය පරීක්ෂණ පවා ලියා තිබිය හැක, එබැවින් ඔබ ස්පර්ශ කරන මොඩියුලයෙන් පිටත කිසිවක් බිඳ දැමීම ගැන කරදර නොවී ඔබට ඉක්මනින් ප්‍රතික්‍රියා කළ හැකිය.
user3067860

2
මේ දිනවල OOP මෙතරම් වැදගත් වන්නේ මන්ද යන්න පිළිබඳ ඉතා හොඳ උදාහරණයකි.
ජයිම් ගාලෙගෝ

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

3
Lex ඇලෙක්සැන්ඩ්‍රේ වයිලන්කෝට් ප්‍රශ්න මාතෘකාවට පිළිතුරු දෙනවා වෙනුවට, ඇත්ත වශයෙන්ම පිළිතුරු සපයනු ලබන ප්‍රශ්නයේ ප්‍රධාන කොටස යැයි මා සිතන දේට පිළිතුරු දීමට මම උත්සාහ කළෙමි; එනම්, "මගේ සැලසුම සවි කර ඇති නිසා ප්‍රශස්තිකරණය පසුව තවත් බොහෝ කාර්යයන් වනු ඇත නම් මා කලින් ප්‍රශස්තිකරණය නොකළ යුත්තේ ඇයි" (අක්ෂර වින්‍යාසය) . මෙම පිළිතුර ඩී.එම්.ග්‍රෙගරිගේ පිළිතුර පිළිබඳ අදහස් දැක්වීමක් ලෙස ආරම්භ වූ අතර එය ඊට අමතරව වන අතර ඔහුගේ පිළිතුර අනුපිටපත් කිරීමේ වැඩි තේරුමක් නැත.
බෝල්ඩ්රික්

24

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

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

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

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

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

බොහෝ ප්‍රශස්තිකරණයන් සහිත මෑත කාලීන ක්‍රීඩාවකට උදාහරණයක් ලෙස, මම ෆැක්ටෝරියෝ වෙත යොමු කරමි. ක්‍රීඩාවේ එක් තීරණාත්මක අංගයක් වන්නේ පටි - ඒවා දහස් ගණනක් ඇති අතර ඒවා ඔබේ කර්මාන්ත ශාලාව පුරා තනි තනි ද්‍රව්‍ය රාශියක් රැගෙන යයි. ක්‍රීඩාව ආරම්භ වූයේ දැඩි ලෙස ප්‍රශස්තිකරණය කළ පටි එන්ජිමකින්ද? නොමැත! ඇත්ත වශයෙන්ම, මුල් පටි නිර්මාණය ප්‍රශස්තිකරණය කිරීම පාහේ කළ නොහැක්කකි - එය යම් ආකාරයකින් පටියෙහි ඇති අයිතමයන් භෞතිකව අනුකරණය කිරීම මඟින් ඔබට කළ හැකි රසවත් දේවල් නිර්මාණය විය (මෙය ඔබට "නැගී එන" ක්‍රීඩාව ලබා දෙන ආකාරයයි - පුදුමයට පත් කරන ක්‍රීඩාව නිර්මාණකරු), නමුත් එයින් අදහස් කළේ ඔබට පටියේ ඇති සෑම අයිතමයක්ම අනුකරණය කළ යුතු බවයි. පටි දහස් ගණනක් සමඟ, ඔබට භෞතිකව අනුකරණය කරන ලද අයිතම දස දහස් ගණනක් ලැබේ - එය ඉවත් කර පටි වැඩ කිරීමට ඉඩ දීමෙන් ඔබට සම්බන්ධිත CPU කාලය 95-99% කින් අඩු කිරීමට ඉඩ සලසයි. මතක ප්‍රදේශය වැනි දේවල් සලකා නොගෙන. නමුත් එය ප්‍රයෝජනවත් වන්නේ ඔබ ඇත්ත වශයෙන්ම එම සීමාවන් කරා ළඟා වූ විට පමණි.

පටි සමඟ ඕනෑම සම්බන්ධයක් ඇති සෑම දෙයක්ම පටිගත කිරීම ප්‍රශස්ත කිරීමට ඉඩ දීම සඳහා නැවත සකස් කළ යුතුව තිබුණි. විශාල කර්මාන්තශාලාවක් සඳහා ඔබට පටි විශාල ප්‍රමාණයක් අවශ්‍ය වූ නිසාත්, විශාල කර්මාන්තශාලා ක්‍රීඩාවේ එක් ආකර්ෂණයක් වන නිසාත්, පටි ප්‍රශස්තිකරණය කිරීමට අවශ්‍ය විය. ඇත්ත වශයෙන්ම, ඔබට විශාල කර්මාන්තශාලා තිබිය නොහැකි නම්, අනන්ත ලෝකයක් ඇත්තේ මන්ද? විහිළුවක් ඔබ ඇසිය යුතුයි - මුල් සංස්කරණ නොතිබුණි :) ක්‍රීඩාව නැවත සකස් කර ඒවා දැන් ඇති තැනට නැවත සකස් කර ඇත - ජාවා යනු යා නොහැකි බව ඔවුන් වටහා ගත් විට 100% බිම් මට්ටමේ ප්‍රතිනිර්මාණය කිරීම ඇතුළුව. මේ වගේ ක්‍රීඩාවක් කර C ++ වෙත මාරු විය. එය ෆැක්ටෝරියෝ සඳහා විශාල ලෙස ක්‍රියා කළේය (එය තවමත් හොඳ දෙයක් වුවද එය යන්නෙන් ප්‍රශස්තිකරණය කර නොතිබුණි - විශේෂයෙන් මෙය විනෝදාංශ ව්‍යාපෘතියක් බැවින් එය උනන්දුවක් නොමැතිවීම නිසා වෙනත් ආකාරයකින් අසාර්ථක වීමට ඉඩ තිබුණි).

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

අවසාන වශයෙන්, ඔබට විශිෂ්ට, විනෝදජනක ක්‍රීඩාවක් තිබේ. දැන් ප්‍රශස්තිකරණය කිරීම අර්ථවත්ද ? හා! එය ඔබ සිතන තරම් පැහැදිලි නැත. විනෝදයක් තිබේද?ඔබට ඒ වෙනුවට කළ හැකිද? ඔබේ කාලය තවමත් සීමිත බව අමතක නොකරන්න. සෑම දෙයක්ම උත්සාහයක් ගත යුතු අතර, එම උත්සාහය වඩාත්ම වැදගත් තැනට යොමු කිරීමට ඔබට අවශ්‍යය. ඔව්, ඔබ "නිදහස් ක්‍රීඩාවක්" හෝ "විවෘත කේත" ක්‍රීඩාවක් කළත්. ක්රීඩාව ක්රීඩා කරන ආකාරය නරඹන්න; කාර්ය සාධනය බාධකයක් බවට පත්වන ස්ථානය සැලකිල්ලට ගන්න. එම ස්ථාන ප්‍රශස්තිකරණය කිරීම වඩාත් විනෝදයක් ලබා දෙයිද (වෙන කවරදාටත් වඩා විශාල, වඩා ව්‍යාකූල කර්මාන්තශාලා තැනීම වැනි)? වැඩි ක්‍රීඩකයින් ආකර්ෂණය කර ගැනීමට එය ඔබට ඉඩ දෙයිද (උදා: දුර්වල පරිගණක සමඟ හෝ විවිධ වේදිකාවල)? ඔබ සැමවිටම ප්‍රමුඛතාවය දිය යුතුය - අස්වැන්න අනුපාතය ලබා ගැනීමේ උත්සාහය සොයා බලන්න. ඔබගේ ක්‍රීඩාව ක්‍රීඩා කිරීමෙන් සහ අනෙක් අය ක්‍රීඩාව නැරඹීමෙන් පමණක් අඩු එල්ලෙන පළතුරු ඔබට හමුවනු ඇත. නමුත් වැදගත් කොටස සටහන් කරන්න - එහි යාමට ඔබට ක්‍රීඩාවක් අවශ්‍යයි . ඒ ගැන අවධානය යොමු කරන්න.

ඉහළින් චෙරි ලෙස, ප්‍රශස්තිකරණය කිසි විටෙකත් අවසන් නොවන බව සලකන්න. එය කුඩා චෙක් සලකුණක් සහිත කාර්යයක් නොවන අතර ඔබ අවසන් කර වෙනත් කාර්යයන් කරා ගමන් කරයි. ඔබට කළ හැකි “තවත් එක් ප්‍රශස්තිකරණයක්” සෑම විටම පවතී, ඕනෑම සංවර්ධනයක විශාල කොටසක් වන්නේ ප්‍රමුඛතා තේරුම් ගැනීමයි. ප්‍රශස්තිකරණය වෙනුවෙන් ඔබ ප්‍රශස්තිකරණය නොකරයි - ඔබ එය කරන්නේ නිශ්චිත ඉලක්කයක් සපුරා ගැනීම සඳහා ය (උදා: “තිරයේ ඒකක 200 ක් එකවර 333 MHz පෙන්ටියම්” යනු විශාල ඉලක්කයකි). ඔබ තවදුරටත් පර්යන්ත ඉලක්කය සඳහා පූර්ව අවශ්‍යතා නොවිය හැකි අතරමැදි ඉලක්ක කෙරෙහි වැඩි අවධානයක් යොමු කිරීම නිසා පර්යන්ත ඉලක්කය පිළිබඳ අවධානය යොමු නොකරන්න.


ෆැක්ටෝරියෝ සංවර්ධකයින් දැන් යළිත් පටි ප්‍රශස්තිකරණය කරමින් සිටින බැවින් ඔවුන්ට අවශ්‍ය වන්නේ වරින් වර අයිතම අනුකරණය කිරීම පමණක් වන අතර අනෙක් සෑම අවස්ථාවකදීම ඔබ ඒවා දෙස බලන විට එය ඔවුන්ගේ ස්ථාවරය අන්තර්ග්‍රහණය කරයි. නමුත් ඔවුන් පමණක් පමණක් බව කරන්නේ දැන් දීර්ඝ කාලයක් තිස්සේ සමස්ත ක්රීඩාවේ ඵලදායී පටි (හා රොබෝ) වටා පදනම් කර විට සහ නොමැති ජනතාව මැරුණොත් හා කාර්ය සාධනය ගැන පැමිණිලි ආරම්භ වන තෙක්.
user253751

2
mimmibis හරියටම. මිනිසුන් සැබවින්ම සීමාවන් කරා ළඟා වීමට පෙර එය වඩා හොඳින් සිදු කිරීම සම්පත් නාස්තියක් වනු ඇත. නවතම ප්‍රශස්තිකරණයන් සමඟ වුවද, ඔබට බොහෝ විට ගැටලුව හමුවන්නේ සාමාන්‍ය ක්‍රීඩාවේ (රොකට්ටුව දියත් කිරීම) සීමාවෙන් ඔබ්බට මෙගාෆැක්ටරි සඳහා පමණි. නමුත් එය නව මැරතන් ක්‍රීඩා සැකසුම් සක්‍රීය කර ඇති අතර, ඊට වඩා බර ලොජිස්ටික් අවශ්‍ය වේ. නැවතත්, ඔවුන් ඇත්ත වශයෙන්ම ක්‍රීඩාව කරන පුද්ගලයින්ගෙන් සංඛ්‍යාලේඛන ලබා ගැනීමෙන් බාධක හඳුනා ගත්හ - බාධකවලින් අඩක් පමණ ඔවුන්ට විශාල පුදුමයක් විය.
ලුවාන්

Att ෆැට්ටි ඉතින් ඔබට ප්‍රශ්නය තේරෙනවා, නමුත් පිළිතුර නොවේද? ඔබ සරල පිළිතුරක් ලබා දිය හැකි යැයි පැවසීමට උත්සාහ කරනවාද (උදා: "ආර්ථික විද්‍යාව")? ඔබේ අදහස ruc ලදායී විය යුත්තේ කෙසේදැයි මම නොදනිමි.
ලුවාන්

2
AttFattie පිළිතුර "බාධකය කුමක්දැයි ඔබ දැනගත් පසු පමණක් ප්‍රශස්තිකරණය කරන්න" යැයි ඔබ සිතන්නේ නම්, එය පිළිතුරක් ලෙස පළ කරන්න. හොඳ පිළිතුරක් සඳහා අවශ්‍ය වනවාට වඩා වැඩි වචන ඔබ දැනටමත් වියදම් කර ඇත, එබැවින් ඉදිරියට යන්න. කුමන ආකාරයේ ප්‍රශස්තිකරණයකින් දේවල් වඩා හොඳ හා නරක නොවන්නේද? මම නිසැකවම කවදාවත් දැක නැත. මම නැවත අවධාරණය කරන මූලික දෙය නම්, එය සැමවිටම වෙළඳාමක් නොවන කාලයයි - වෙනත් තැනකට වඩා හොඳින් ගත කළ හැකි කාලය, ඔබේ නම්‍යශීලීභාවය සීමා කරන සංකීර්ණත්වය ... උදාහරණ පෙන්වා දෙන්නේ “මුල්” යනු නිරපේක්ෂ යෙදුමක් නොවන බවත්; සමහර ප්‍රශස්තිකරණ පළමු දිනයේ සිටම අවශ්‍ය වන අතර අනෙක් ඒවා අහිතකර ය.
ලුවාන්

1
Att ෆැටි "බාධකය යනු කුමක්දැයි ඔබ දැනගත් පසු පමණක් ප්‍රශස්තිකරණය කරන්න" යනු "මම ප්‍රශස්තිකරණය කළ යුත්තේ කවදාද?" සහ "ඉක්මණින් ප්‍රශස්තිකරණය කිරීම එතරම් නරක ඇයි?" සඳහා පිළිතුරක් නොවේ .
user253751

10

බොහෝ පිළිතුරු "ප්‍රශස්තිකරණයේ" කාර්ය සාධන අංශය කෙරෙහි වැඩි අවධානයක් යොමු කරන බවක් පෙනෙන්නට ඇති අතර, ප්‍රශස්තිකරණය සහ වඩාත් වියුක්ත මට්ටමින් ඉක්මණින් ප්‍රශස්තිකරණය කිරීමේ සමස්ත අත්දැකීම දෙස බැලීමට මා කැමතිය.

පොලිමිනෝ ආධාරයෙන් මගේ ඉදිරිදර්ශනය විස්තාරනය කිරීමට උත්සාහ කරන විට මට හාස්‍යය.

අප සමඟ වැඩ කරන රාමුව හෝ එන්ජිම විසින් නිශ්චිත සීමාවන් නියම කර ඇතැයි සිතමු.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

අපි පසුව අපගේ පළමු ස්ථරය / මොඩියුලය නිර්මාණය කිරීමට ඉදිරියට යමු.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඉදිරියට යන විට අපි අපගේ දෙවන ස්ථරය / මොඩියුලය සාදන්නෙමු.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

මෙම අවස්ථාවෙහිදී, මොඩියුල දෙක අතර යම් ඉඩක් ඇති බව අපට පෙනෙනු ඇති අතර අපට ලබා දී ඇති සීමාවන් පූර්ණ ලෙස භාවිතා කිරීම සඳහා එය ප්‍රශස්ත කිරීමට අප පෙළඹෙනු ඇත.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

පරිපූර්ණයි, දැන් යෙදුම අපට ලබා ගත හැකි සම්පත් සම්පූර්ණයෙන්ම භාවිතා කරයි, යෙදුම වඩා හොඳයි, හොඳයි නේද?

අපගේ යෙදුමේ තුන්වන ස්ථරය / මොඩියුලය තැනීමට අපි ඉදිරියට යන අතර හදිසියේම 3 වන ස්ථරය / මොඩියුලය අප වෙනුවෙන් ක්‍රියා නොකරන බව අවබෝධ කර ගනිමු.

අපි විකල්පයක් සොයන්නෙමු, එකක් සොයාගත්තෙමු, අවසානයේදී, අපගේ යෙදුමේ 2 වන මොඩියුලය අපගේ අලුතින් තෝරාගත් 3 වන මොඩියුලයට නොගැලපෙන බැවින් එය වෙනස් කිරීමටද අවශ්‍ය වේ. (ස්තූතියි, එය අපගේ 1 වන මොඩියුලය සමඟ තරමක් අනුකූල වේ, එබැවින් අපට මුල සිටම සියල්ල නැවත ලිවීමට අවශ්‍ය නැත.)

ඉතින් අපි ඔක්කොම එකට දැම්මා ...

රූප විස්තරය මෙහි ඇතුළත් කරන්න

හ්ම්, ඔබට සිදුවී ඇති දේ දැකිය හැකිද?

වේලාසනින් ප්‍රශස්තිකරණය කිරීමෙන් අපි දැන් කාරණා වඩාත් කාර්යක්ෂම ලෙස නැණවත් කර ඇත්තෙමු.

අපට පසුව අමතර මොඩියුල කිහිපයක් හෝ අමතර තොරතුරු එකතු කිරීමට අවශ්‍ය නම්, මෙම අවස්ථාවේදී ඒවා කිරීමට අපට තවදුරටත් හැකියාවක් නැත.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

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

කෙසේ වෙතත්, එය වහාම ප්‍රශස්තිකරණය කිරීම සඳහා අපගේ උනන්දුව සමඟ බලා සිටීමට අප කැමති නම්, අපි මේ වගේ දෙයක් සමඟ අවසන් වනු ඇත:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

දැන් අපි මේ අවස්ථාවේ දී ප්‍රශස්තිකරණය සිදු කරන්නේ නම් අපට බැලීමට තෘප්තිමත් යමක් ලැබේ.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

අවම වශයෙන් ඔබගෙන් සමහරෙකුට මෙය කියවීම තරම් විනෝදයක් ඇති බව මම විශ්වාස කරමි :) තවද ඔබට මෙම විෂය පිළිබඳව වඩා හොඳ අවබෝධයක් ඇති බව දැන් ඔබට හැඟේ නම් - සියල්ල වඩා හොඳය.


3
මම දැන්වීම ඉවත් කරමි. ඔබ රූප සෑදූ ආකාරය අපට ප්‍රශ්නයක් නොවේ; එකම වැදගත් කොටස වන්නේ ඒවා පළ කිරීමට ඔබට අයිතියක් ඇතැයි උපකල්පනය කිරීමයි.
ග්නෙම්ලොක්

2
අතර, මගේ අරමුණ මම ද එය ඉතා පහසුවෙන් වැනි ක්රිකට් පරිපාලනයට කළ හැකි වූයේ කෙසේ දැයි බලන්න, මම එය එය තැනක් නැහැ ඒ නිසා පිළිතුර කිසිවක් එකතු කරන්නේ පිළිගන්නා බව හැකි දැන්වීමක් දෙසට එල්ල නැත, සාධාරණ තරම් @Gnemlock.
සීලිං ගෙකෝ

2
මෙම දෘශ්‍ය රූපකය අතිශයින්ම is ලදායී යැයි මම සිතමි. ප්‍රශ්නයට පිළිතුරු දීමට විශිෂ්ට ප්‍රවේශයක්! :)
ඩී.එම්.ග්‍රෙගරි

8

මුදල.

එය පහළට පැමිණේ. මුදල. කාලය මුදල් බැවින් *, වැඩි මුදලක් උපයා ගැනීමට සහතික නොවන ක්‍රියාකාරකම් සඳහා ඔබ වැඩි කාලයක් ගත කරයි (එනම් ඔබට මෙම ක්‍රියාකාරකම් ආයෝජන ලෙස සැලකිය නොහැකිය ), ඔබ නාස්ති කිරීමේ අවදානම වැඩි වන අතර ඔබ උපයන අඩු මුදල් ක්රීඩාව.

වේලාසනින් ප්‍රශස්තිකරණය කිරීමේ තවත් විභව අතුරු ආබාධ කිහිපයක් සහ ඔබ එය වළක්වා ගත යුතු හේතු මෙන්න :

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

* වෙනත් පිළිතුරු 'කාලය' කොටස ප්‍රමාණවත් ලෙස ඉස්මතු කර ඇත


පැති සටහනක් ලෙස, සාමාන්‍යයෙන් , අත්දැකීම් යනු නොමේරූ ප්‍රශස්තිකරණය යනු කුමක්ද සහ කුමක්ද යන්න සහ ව්‍යාපාරයට වටිනාකමක් ඇති දේ සහ නැති දේ තීරණය කිරීමට උපකාරී වේ.

නිදසුනක් ලෙස, ඔබ A ක්‍රීඩාවෙහි වැඩ කර ඇත්නම් සහ ව්‍යාපෘතියේ අවසානය වන විට XYZ විශේෂාංගය ඔබගේ ක්‍රීඩා ලූපය මත බරින් වැඩි බව වටහාගෙන තිබේ නම්, ඔබ අවසානයේ B ගේම් එකෙහි වැඩ කිරීමට පටන් ගන්නේ හරියටම එකම අංගයක් ඇති, තීරණය කරමින් විශේෂාංගය නැවත ලිවීම සහ ආරම්භයේ සිටම එය ප්‍රශස්තිකරණය කිරීම නොමේරූ ප්‍රශස්තිකරණය නොවේ, ඔබ දන්නා පරිදි කිසිවක් සිදු නොවන්නේ නම් එය බාධාවක් වනු ඇත.


1
@ ජේ බෙන්ට්ලි එය වලංගු කරුණකි. කෙසේ වෙතත්, රැස්කරගත් අත්දැකීම්වල සෘජු ඇඟවීමක් ලෙස “ඇයි” ​​යන්නට ප්‍රති consequ ලදායක පිළිතුරක් ඇත. එබැවින්, 1) වේලාසන ප්‍රශස්තිකරණය කිරීම සාමාන්‍ය ධාවන කාලයට බලපාන්නේ නැති කේතයේ කොටස් නාස්ති කිරීමට හේතු වේ (අත්දැකීම් අනුව, හොඳම භාවිතයන් ප්‍රශස්තිකරණය සඳහා අපේක්ෂකයින් වන්නේ කුමන කේත ව්‍යුහයන් දැයි ඔබ දැනගත යුතුය ) 2) වේලාසන ප්‍රශස්තිකරණය කිරීමෙන් කේතය දැඩි කළ හැකිය කිසියම් පද්ධතියක් සඳහා පනවා ඇති සැලසුම් සීමාවන් නිසා නඩත්තු කිරීමට. නඩත්තු කිරීම සඳහා දිගු සංවර්ධන චක්‍ර / විකාර කේත සඳහා ඔබට හුවමාරුව ඉතා අල්ප විය හැකිය.
ටියෝඩ්‍රොන්

3
@ ජේබෙන්ට්ලි මෙය ඩී.එම්.ග්‍රෙගරිගේ පිළිතුරට අතිරේකයක් ලෙස සලකන්න.
වයිලන්කෝට්

1
මෙහි ඇති එකම වටිනා පිළිතුර මෙය බව පෙනේ. ප්‍රශ්නය තාත්වික විද්‍යාවකි. ඔබත් ඇසිය හැකිය "ඉතින් ඇයි, ඇත්ත වශයෙන්ම, යෙදුම් වෙළඳසැල්වල අඩු මුදල් වලට වඩා ක්‍රීඩාවක් කිරීමට ඔබට අවශ්‍ය ඇයි?" ඔබට එයට පිළිතුරු දිය හැක්කේ කෙසේද?
ෆැට්ටි

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

6

ප්‍රශස්තිකරණය යනු අර්ථ දැක්වීම අනුව විසඳුමක කාර්යක්ෂමතාව නැති වන තෙක් එහි කාර්යක්ෂමතාව වැඩි කිරීමේ ක්‍රියාවලියයි. මෙම ක්‍රියාවලියෙන් ඇඟවෙන්නේ විසඳුමේ අවකාශය අඩු කිරීමයි.

මෘදුකාංග සංවර්ධනයේ මුල් අවධියේදී තවමත් "සැඟවුණු අවශ්‍යතා" තිබිය හැකිය: ඔබ ඔබේ විසඳුමේ ඉඩ ප්‍රමාණය ඕනෑවට වඩා අඩු කළහොත් එය අවසන් වන විට "සැඟවුණු අවශ්‍යතාවයක්" සපුරාලීමට ඔබට නොහැකි තත්වයකට පත්විය හැකිය. සංවර්ධනයේ පසුකාලීන අවධියක දී, ගෘහ නිර්මාණ ශිල්පය මේ ආකාරයෙන් එකතු කිරීමට ඔබට බල කෙරෙනුයේ අස්ථාවරත්වය සහ අවිනිශ්චිත හැසිරීම් සමූහයකි.

අදහස වන්නේ සම්පූර්ණ විසඳුමම ක්‍රියාත්මක කර පසුව සියලු අවශ්‍යතා නිවැරදි කර ක්‍රියාත්මක කළ විට කේතය තද කරන්න. කේතකරණයේදී ඔබ එකවරම හදවතින්ම ක්‍රියාවට නංවා ඇති ප්‍රශස්තිකරණ බොහොමයක් ප්‍රමාද වූ අවශ්‍යතා සමඟ අන්තර්ක්‍රියා කිරීම නිසා තවදුරටත් කළ නොහැකි බව එවිට ඔබට පෙනෙනු ඇත.

ඉතා සංකීර්ණ පද්ධතියක් පිළිබඳ පරිපූර්ණ දැනුමක් අපට තිබිය නොහැකි නිසා විසඳුමේ සැබෑ අවකාශය අප මුලදී අපේක්ෂා කළ ප්‍රමාණයට වඩා සෑම විටම විශාල ය.

පළමුව එය ක්‍රියාත්මක කරන්න. ඉන්පසු ලණු තද කරන්න.


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

2
ppdoppelgreener එයින් අදහස් කරන්නේ ඔබට අවශ්‍ය ප්‍රති produce ල නිපදවීම නවත්වන තුරු ඔබ විසඳුම වඩාත් කාර්යක්ෂම කරන බවයි ...
user253751

1
"මුලින්ම එය ක්‍රියාත්මක කරන්න. ඉන්පසු ලණු තද කරන්න." - අනෙක් පිළිතුර ඒකාබද්ධ වන තරමට එය වටී. අනිත් දේවල් හොඳ නැහැ කියලා කියන්න එපා.
ebyrob

1
@ebyrob: තවත් කියමනක් තිබේ: "එය ක්‍රියාත්මක කරන්න, නිවැරදි කරන්න, වේගවත් කරන්න" wiki.c2.com/?MakeItWorkMakeItRightMakeItFast
ninjalj

inninjalj ඒකත් හොඳයි. ඇත්ත වශයෙන්ම, මගේ ලොක්කා නිතරම මට කියන්නේ: "ඉක්මන් නොවන්න, එය නිවැරදි කරන්න." එබැවින් මුල් පෝස්ටරය ගැන වැඩි විස්තර ඉල්ලා සිටින විදුහල්පතිවරයා මෙන් ඔබ පවසන දේ විශ්වීය දැයි මම නොදනිමි.
ebyrob

2

කෙටියෙන් කිවහොත්, ඔබට පසුව දේවල් වෙනස් කිරීමට අවශ්‍ය නම් බොහෝ විට මුල් අවධියේ ප්‍රශස්තිකරණය කිරීම නාස්තිකාර උත්සාහයක් බවට පත්වේ, එවිට පහසුවෙන් වෙනස් කළ හැකි කේත ව්‍යුහයන් වඩා පහත් මට්ටමකට ඔබ ප්‍රශස්තිකරණය කර ඇති බව පෙනේ, දැන් ඔබට එය නැවත ඉහළ මට්ටමකට වෙනස් කළ යුතුය. මට්ටමේ ප්‍රවේශය, සහ ප්‍රති result ලය නැවත වරක් ප්‍රශස්ත කරන්න.

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

පොදුවේ ගත් කල, ඔබට මේ මොහොතේම සංවර්ධන ගොඩනැගීම සමඟ වැඩ කිරීමට නොහැකි නම් පමණක් ප්‍රශස්තිකරණය කරන්න. හරියට ඔබ තත්පරයට 60 වතාවක් වස්තූන් මිලියන ගණනක් නිර්මාණය කර මකා දමන්නේ නම්.

එබැවින්, ඉගෙනීමේ අත්දැකීම් අනුව, මුල් කිහිප වතාවක් ප්‍රශස්තිකරණය කිරීම හොඳ යැයි මම කියමි: p


2

ප්‍රශස්තිකරණය මඟින් පරිගණකය කේතය මත වඩාත් හොඳින් වැඩ කිරීම කෙරෙහි අවධානය යොමු කරන අතර සංවර්ධනය සඳහා ක්‍රමලේඛකයා කේතයේ හොඳම ලෙස ක්‍රියා කිරීම අවශ්‍ය වේ.

ප්‍රශස්තිකරණය මගින් තීක්ෂ්ණ බුද්ධිය ගෙන එන්නේ නැත. එමඟින් පරිගණකය ක්‍රියා විරහිත වන අතර ක්‍රමලේඛකයා වැඩි වේ.

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


ප්‍රශස්තිකරණය නිර්වචනය කිරීම හැර වෙනත් දෙයක් සමඟ නායකත්වය දීමෙන් සහ මෝටර් රථ පිළිබඳ ප්‍රතිසමයන් සඳහා යෑමට වඩා ක්‍රීඩා සංවර්ධනයේ ප්‍රායෝගික තත්වය ගැන කතා කිරීමෙන් මෙය වැඩිදියුණු වනු ඇත.
doppelgreener

තාක්ෂණික ප්‍රශ්නයකට පරිපූර්ණ පිළිතුරක්.
ෆැට්ටි

2

මුල් අවධියේදී කේතය ප්‍රශස්තිකරණය නොකළ යුතු බවට කරන ලද එම ප්‍රකාශ සියල්ලටම මම තදින්ම එකඟ නොවෙමි. එය රඳා පවතින්නේ ඔබ කුමන අවධියකද යන්න මතය. මෙය එම්වීපී - මූලාකෘතියක් නම් සහ ඔබ උත්සාහ කරන්නේ සති 1 සිට 2 දක්වා ගතවන ක්‍රීඩාව දෙස බැලීමට නම්, ඔබ දැනටමත් ලියා ඇති සියල්ල නැවත ලිවීමට ඔබ සූදානම් බව. ඔව්, ප්‍රශස්තිකරණය වැදගත් නැත. නමුත් ඔබ දැනටමත් මුදා හරිනු ඇති බව ඔබ දන්නා ක්‍රීඩාවක වැඩ කරන්නේ නම්, එයට ප්‍රශස්ත කේතයක් තිබිය යුතුය. නව විශේෂාංග සහ එකතු කළ හැකි දේවල් ගැන මිනිසුන් පවසන කතා වැරදි මතයකි. එය ප්‍රශස්තිකරණය කළ කේතයට වඩා දුර්වල ලෙස නිර්මාණය කර ඇති කේත සැකැස්මයි. ඔබට හොඳ කේත නිර්මාණයක් තිබේ නම් නව අංග එකතු කිරීමට ඔබට කිසිවක් නැවත ලිවීමට අවශ්‍ය නොවේ.

උදාහරණයක් ලෙස, ඔබට A * pathfinding ඇල්ගොරිතමයක් තිබේ නම්, එය ඔබට හැකි උපරිම ආකාරයෙන් ලිවීම වඩා හොඳ නොවේද? ඔබට ඇති කේතයෙන් අඩක් පසුව වෙනස් කරනවා වෙනුවට ඔබට ඇල්ගොරිතමයේ යම් යම් වෙනස්කම් කිරීමට සිදු වූ නිසා දැන් එයට වෙනත් ක්‍රමයක් ඇමතුම් සහ ඇමතුම් අවශ්‍යද? ඔබට දැනටමත් ආරම්භයේ සිටම ප්‍රශස්ත කේතයක් තිබේ නම් එය ඔබට බොහෝ කාලයක් ඉතිරි කරයි. අන්ධ ලෙස නව ස්ක්‍රිප්ට් ටොන් ගණනක් සාදා සියලු සම්බන්ධතා එකවරම සකස් කරනවා වෙනුවට, වස්තූන් හා ඒවා අන්තර්ක්‍රියා කරන ආකාරය අතර සම්බන්ධතා ඔබට ඇති කර ගත හැකි බැවිනි - මෙය අපැහැදිලි ස්පැගටි කේතයට මග පාදයි.

මට එකතු කිරීමට අවශ්‍ය අන්තිම දෙය නම්, පසුව ඔබට ක්‍රීඩාව තවදුරටත් කිරීමට අවශ්‍ය නොවුවද, ඔබේ ඊළඟ ක්‍රීඩා සඳහා භාවිතා කළ හැකි ඔබේ ප්‍රශස්ත A * ඇල්ගොරිතම ඔබ සතුව ඇත. නැවත භාවිතා කිරීමේ හැකියාව. උදාහරණයක් ලෙස, බොහෝ ක්‍රීඩා වල ඉන්වෙන්ටරි, පාත්ෆයින්ඩින්, ක්‍රියා පටිපාටි උත්පාදනය, එන්පීසී අතර අන්තර්ක්‍රියා, සටන් පද්ධතිය, ඒඅයි, අතුරු මුහුණත් අන්තර්ක්‍රියා, ආදාන කළමනාකරණය ඇත. දැන් ඔබ ඔබෙන්ම මෙසේ අසාගත යුතුය - "මම මුල සිටම කී වතාවක් නැවත ලියා තිබේද?" ඔවුන් ක්‍රීඩාවෙන් 70-80% කි. ඔබට ඒවා නැවත ලිවීමට අවශ්‍යද? ඒවා අනුමත නොකළහොත් කුමක් කළ යුතුද?


5
A * කේතයක් ප්‍රශස්තිකරණය කිරීම ආරම්භ කළ යුතු නම්, “ප්‍රශස්තිකරණය” කරන්නේ කෙසේද? මිණුම් සලකුණු කිරීමට පෙර එකලස් කිරීමේදී ඔබ දෑත් කේත කරනවාද? මම හිතන්නේ සාමාන්‍යයෙන් ක්ෂුද්‍ර ප්‍රශස්තිකරණය පිළිබඳ සුළු නොවන කාර්යයන් මිණුම් සලකුණු සිදු වන තුරු ඉතිරි කළ යුතුය. ප්‍රශස්තිකරණ සම්පාදකයා ක්ෂුද්‍ර ප්‍රශස්තිකරණයේදී ඔබට වඩා හොඳ කාර්යයක් කළ හැකි අතර එය වඩා ලාභදායී වේ.
gmatht

@gmatht Well A * වෙනස් විය හැකිය, එය දුර්වල මෝස්තරයක් තිබිය හැකි අතර හොඳින් ක්‍රියා නොකරයි. නමුත් එය ෆයිබොනාච්චි ගොඩ මත පදනම්ව, බහු අනාවැකි කළ හැකිය, සමහර අනාවැකි ඇත, කැබලිවලට බෙදී යයි. අපි ගමන් මාර්ග සොයා ගැනීම ගැන කතා කරන්නේ නම්, අපට A * සමඟ මිශ්‍ර කිරීම සඳහා ප්‍රවාහ ක්ෂේත්‍රය එක් කළ හැකිය. එසේම සුමටනය, බහු උස. සමහර විට A * හොඳම උදාහරණය නොවේ, නමුත් මා පැවසූ පරිදි, ප්‍රශස්තිකරණයට ඇත්ත වශයෙන්ම කේතය වෙනස් කිරීම සමග කිසිදු සම්බන්ධයක් නැත, සංවර්ධකයා කේතය වෙනස් කරන්නේ එය දුර්වල ලෙස නිර්මාණය කර ඇති නිසාය, උදාහරණයක් ලෙස ඔහු SOLID 1 හේතුවක් ලෙස අනුගමනය නොකළේය. මෙය A * හොඳින් ලියා ඇත, ඔබට එය තවදුරටත් ලිවීමට අවශ්‍ය නැත.
කැන්ඩිඩ් මූන් _මැක්ස්_

@gmatht ක්ෂුද්‍ර ප්‍රශස්තිකරණය ඇත්ත වශයෙන්ම ගැටළුව නොවේ. මම හිතන්නේ OP යන්නෙන් අදහස් කරන්නේ AI හැසිරීම හෝ සෙවන හෝ වෙනත් ඕනෑම දෙයක් ගණනය කිරීමේ හොඳම හා කාර්යක්ෂම ක්‍රමයකි.
කැන්ඩිඩ් මූන් _මැක්ස්_

මේ දේවල් කාර්යක්ෂමව ලිවීමට ඔබ දන්නේ නම් එසේ කිරීමේ ගැටලුව මට නොපෙනේ. එය එකම කාලයක් හෝ ඊටත් වඩා අඩු කාලයක් ගතවනු ඇත. එය සංවර්ධකයින්ගේ අත්දැකීම් මත වැඩි වශයෙන් රඳා පවතී. ක්‍රමලේඛකයෙකු ලෙස, මම වඩා හොඳ විසඳුමක් දන්නේ නම්, මම කපටි එකක් ලියන්නේ නැත. ෆිබොනාච්චි ගොඩවල් ලිවීමට මා දන්නේ නම්, අවම හෝ උපරිම අගයන් ලබා ගැනීම සඳහා මම ලැයිස්තුව සහ වර්ග කිරීම භාවිතා නොකරමි. List.Sort () භාවිතා කරනවා වෙනුවට එය ලිවීමට තවත් කාලයක් හා වෑයමක් අවශ්‍ය වනු ඇත. , නමුත් මට දැනටමත් නැවත භාවිතා කළ හැකි එකක් තිබේ නම් කුමක් කළ යුතුද?
කැන්ඩිඩ් මූන් _මැක්ස්_

2
AndCandidMoon "එයට සමාන කාලයක් හෝ ඊටත් අඩු කාලයක් ගතවනු ඇත" යන්නට මම එකඟ නොවෙමි. කාර්යක්ෂම කේතයක් ලිවීමට. සමහර විට පැහැදිලිවම අකාර්යක්ෂම නොවන කේත ලිවීමට එකම වේලාවක් ගතවනු ඇත, නමුත් ඔබේ “කාර්යක්ෂමතාව” යන සංකල්පයෙන් අදහස් වන්නේ හැඹිලි මතභේදය සලකා බැලීම, බහු තෙරපුම එකතු කිරීම, සමහර CPU වල පමණක් ලබා ගත හැකි CPU විශේෂිත අභ්‍යන්තරයන් භාවිතා කිරීම, O නිසා විශාල N සඳහා ඇල්ගොරිතම මාරු කිරීම (N ලොග් එන්) එදිරිව ඕ (එන්) - එවැනි දෙයක් දුෂ්කර හා දෝෂ සහිත වන අතර සරල ක්‍රියාත්මක කිරීමට වඩා වැඩි කාලයක් ගතවේ. ඔබ එය කරන්නේ එය අවසාන ප්‍රති .ලයට ද්‍රව්‍යමය වශයෙන් බලපානු ඇති බව ඔබ දැනගත් විට පමණි .
මයිකල් ඇන්ඩර්සන්
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.