මගේ කණ්ඩායමට අඩු නිපුණතාවයක් තිබේ නම්, මගේ කේතයේ නිපුණතාවය අඩු කළ යුතුද? [වසා ඇත]


157

උදාහරණයක් ලෙස, පෙරනිමි අගයක් ලබා ගැනීම සඳහා JS හි පොදු ස්නිපටයක් ඇත:

function f(x) {
    x = x || 'default_value';
}

මේ ආකාරයේ ස්නිපටය මගේ කණ්ඩායමේ සියලුම සාමාජිකයින්ට පහසුවෙන් වටහා ගත නොහැක, ඔවුන්ගේ JS මට්ටම අඩුය.

මම මේ උපක්‍රමය භාවිතා නොකළ යුතුද? එමඟින් සම වයසේ මිතුරන්ට කේතය අඩු කියවිය හැකි නමුත් ඕනෑම JS dev ට අනුව පහත දැක්වෙන ඒවාට වඩා කියවිය හැකිය:

function f(x) {
    if (!x) {
        x = 'default_value';
    }
}

ෂුවර්, මම මෙම උපක්‍රමය භාවිතා කර සගයකු එය දුටුවහොත් ඔවුන්ට යමක් ඉගෙන ගත හැකිය. නමුත් බොහෝ විට ඔවුන් මෙය "බුද්ධිමත් වීමට උත්සාහ කිරීමක්" ලෙස දකිනවා.

ඉතින්, මගේ කණ්ඩායමේ සාමාජිකයන් මට වඩා පහත් මට්ටමක සිටී නම් මම මගේ කේතයේ මට්ටම අඩු කළ යුතුද?


42
"ඔබ මුග්ධ කේතයක් ලිවිය යුතු අතර එම මට්ටමට මිනිසුන්ට බල කළ යුතුද? නැතහොත් සෑම දෙයක්ම පැහැදිලිව අක්ෂර වින්‍යාසය සහිත මුග්ධ නොවන කේතයක් ලිවිය යුතුද?"

53
ඔබේ කේතයේ නිපුණතා මට්ටම අඩු නොකරන්න! වඩා දියුණු ක්‍රමලේඛකයන්ගේ කේතය කියවීමෙන් මම බොහෝ දේ ඉගෙන ගතිමි. ඔබේ සම වයසේ මිතුරන්ට යමක් තේරෙන්නේ නැත්නම්, ඔවුන්ගෙන් විමසීමට (සහ ඉගෙන ගැනීමට) ධෛර්යමත් වන සංස්කෘතියක් සාදන්න. ඔබ ස්ථාවර බව සහතික කරගන්න.
කොස්ටා කොන්ටොස්

6
ඔබට කේත සමාලෝචන තිබේද? ඒ වගේ කේත ගැන ප්‍රශ්න අහන්න එය ඔවුන්ට හොඳ තැනක් වේවි.
thegrinner

3
ඔබේ "ප්‍රේක්ෂකයින්" සැලකිල්ලට ගනිමින් කේතීකරණ කුසලතාවයේ කොටසක් පැහැදිලිය. මෙම විශේෂිත මෝඩකම ඉගැන්වීම වටී යැයි පෙනේ, නමුත් වඩාත් විනිවිද පෙනෙන කේතකරණ ශෛලියක් භාවිතා කිරීම වඩාත් අර්ථවත් වන අවස්ථා නිසැකවම ඇත.
LarsH

3
දෙවන උදාහරණය වඩා හොඳ තත්ත්වයේ යැයි සිතන්නේ කවුරුන් ද? එවිට සිදු කෙරෙන දෙය ඉතා පැහැදිලි ය. දෙවන උදාහරණය වඩාත් කියවිය හැකි බව පෙනේ, පසුව පළමු නිදර්ශනය වන කෙටි අත් අනුවාදය. මිනිසා විසින් සාදන ලද කේතය ස්වයංක්‍රීයව ජාවාස්ක්‍රිප්ට් සඳහා ප්‍රශස්තිකරණය කරන මෙවලම් නැද්ද? මගේ ජාවාස්ක්‍රිප්ට් අත්දැකීම් මත පදනම්ව ඇත්ත වශයෙන්ම ධාවනය වන කේතය හැකි තරම් effective ලදායී ලෙස ධාවනය කළ යුතු නොවේ.
රැම්හවුන්ඩ්

Answers:


135

හරි, මෙන්න මේ විශාල හා සංකීර්ණ මාතෘකාව පිළිබඳ මගේ අදහස.


ඔබේ කේතීකරණ විලාසය තබා ගැනීමේ වාසි:

  • x = x || 10ජාවාස්ක්‍රිප්ට් සංවර්ධනයේදී මුග්ධ වැනි දේවල් ඔබගේ කේතය සහ ඔබ භාවිතා කරන බාහිර සම්පත් කේතය අතර අනුකූලතාවක් ලබා දෙයි.
  • ඉහළ මට්ටමේ කේත බොහෝ විට වඩාත් ප්‍රකාශිත වන අතර, ඔබට ලැබෙන දේ ඔබ දන්නා අතර ඉහළ පුහුණුව ලත් වෘත්තිකයන් හරහා කියවීම පහසුය.
  • ඔබ ඔබේ රැකියාවෙන් වැඩි සතුටක් ලබනු ඇත. ලස්සන කේතයක් සෑදීම මම පෞද්ගලිකව අගය කරමි. මම හිතන්නේ එය මගේ වැඩවලින් සෑහීමකට පත්වේ.
  • සාමාන්යයෙන් එය වඩාත් කියවිය හැකි ශෛලියක් නිර්මාණය කරයි. භාෂාවේ මුග්ධයන් සමඟ බැඳී සිටීම ඉතා වටිනා විය හැකිය - ඒවා බොහෝ විට හේතුවක් සඳහා මෝඩයන් වේ.

ඔබේ කේතීකරණ විලාසය තබා ගැනීම සඳහා අවාසි:

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

මගේ පෞද්ගලික මතය

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

ඔබ 'බුද්ධිමත්' යැයි ඔවුන් සිතන්නේ නම්, ඔබේ අදහස තර්ක කිරීමට උත්සාහ කරන්න. සමහර විට ඔබ වැරදියි කියා පිළිගැනීමට කැමති වන්න, කුමක් වුවත්, ඔබගේ සේවා පරිසරය පුරා මෝස්තර ස්ථාවරව තබා ගැනීමට උත්සාහ කරන්න. එසේ කිරීමෙන් සතුරුකම වළක්වා ගත හැකිය.

වැදගත්ම දෙය වන්නේ ස්ථාවරව සිටීමයි.

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


1
ඉගෙනීම නිරන්තර දෙයක් බව මම දනිමි, නමුත් ඇත්ත වශයෙන්ම මෙම සෙසු සේවකයන් පුහුණු කිරීම මෙම සංවර්ධකයාගේ කාර්යයක්ද? ඔවුන් සඳහා වඩාත් සුදුසු පුහුණුව සොයා ගැනීම කළමනාකරණයේ කාර්යය විය යුතුය.
corsiKa

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

2
ඔහුගේ සෙසු සේවකයින් OP (සහ වෙනත් අය) විසින් ඉදිරිපත් කරන ලද උදාහරණ වලින් තනිවම ඉගෙන ගත යුතුය. එසේ නොවුවහොත්, ඔවුන්ගේ වර්තමාන දැනුමෙන් ඔබ්බට කිසි විටෙකත් ප්‍රගතියක් නොලැබේ. ඔවුන්ව පෞද්ගලිකව පුහුණු කිරීම සඳහා OP සෑම දිනකම පැය ගණනක් ගත නොවිය යුතුය, නමුත් කේත සමාලෝචන සහ ඉඳහිට දුඹුරු-බෑග් සැසියක් සෑම කෙනෙකුටම උපකාර කළ හැකිය (හොඳයි, ඉගෙනීමට කැමති සියල්ලන්ටම , එනම්).
alroc

1
කණිෂ් dev දේව් පසුව සොයා බැලිය යුතු කරුණු හඳුනා ගැනීම සඳහා හොඳ ක්‍රමයක් විය හැකි නමුත් ජ්‍යෙෂ් dev දේව් කේතයක් සමාලෝචනය කිරීම ප්‍රමාණවත් පුහුණුවක් නොවන බව ors කෝර්සිකා එකඟ විය.
ඩෑන් ලියොන්ස්

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

47

හොඳින් අදහස් දක්වන්න

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

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

විලාසිතාවේ වැදගත්කමක්?

ඔබ ලබා දුන් උදාහරණය තරමක් මූලික මෙන්ම ශෛලීය ය. සෑම විචල්‍ය පෙරනිමියක් ගැනම අදහස් දැක්වීම නඩත්තු කිරීමට සහ කියවීමට වෙහෙසකර වනු ඇත. ඒ වෙනුවට, ශෛලීය හෝ නැවත නැවත කෙටිමං හෝ කේත රටා සම්මතයක් ලෙස ස්ථාපිත කළ යුතුය. පරාමිති පෙරනිමිති වැනි යමක් සියල්ලන්ම තේරුම් ගෙන සෑම විටම භාවිතා කළ යුතු යැයි ඔබ සිතන්නේ නම්, මෙම අදහස් ලියා ඒවා ඔබේ කණ්ඩායම් නායකත්වය වෙත ගෙන යන්න. ඔබේ කණ්ඩායමේ සාමාජිකයින්ට ඉගැන්වීම සඳහා අවශ්‍ය වන්නේ ඔබ යෝජනා කළ ප්‍රමිතීන් සාකච්ඡා කරන සරල රැස්වීමකි.

දැනටමත් සඳහන් කර ඇති තවත් පිළිතුරක් ලෙස, එය ස්ථාවරව තබා ගන්න .

මසුන් ඇල්ලීමට මිනිසෙකුට උගන්වන්න ...

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

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

"දක්ෂ" උපක්‍රම

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

ඔබ දක්ෂ උපක්‍රමයක් ක්‍රියාත්මක කළ යුතු බව ඔබ සොයා ගන්නේ නම්, අවම වශයෙන් ඊළඟ උපදෙස් ටිකක් අනුගමනය කරන්න ...

හාදුවක්

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


10
ගැටලුව වන්නේ භාෂා අංග “දක්ෂ උපක්‍රම” ලෙස දැකීමයි. වසා දැමීමක් ඔබ දැක තිබේද? IIFE එකක් කවදා හෝ දැක තිබේද? ශ්‍රිත යොමු කිරීමක් ඇමතුමක් ලෙස සම්මත වී තිබේද? සෑම පළපුරුදු JS දේවරයෙක්ම දන්නා භාෂා ලක්ෂණ ඒවාය . එහෙත් ඔවුන් අඩු අත්දැකීම් සහිත ජේ. එස්.
ෆ්ලෝරියන් මාගයින්

1
Lor ෆ්ලෝරියන් මාගයින් මට පෙනෙන්නේ ඔබ පාරිභාෂිතය වෙනස් කිරීම සඳහා වැඩ කළ යුතු බවයි, එනම්: මේවා “දක්ෂ උපක්‍රම” නොවේ, මේවා භාෂාවේ වඩා දියුණු ලක්ෂණ ... 1 එයින් ගම්‍ය වන්නේ ඔබේ කේතය පහසුවෙන් තේරුම් ගත නොහැකි / නරක දෙයක්, 2 මගේ 'කේතීකරණ කුසලතා ඉගෙන ගැනීමට සහ වැඩිදියුණු කිරීමට අවස්ථාවක් අදහස් කරයි (අන් අය ඔවුන්ගේ පාරිභාෂිතය වෙනස් කරන්නේ කෙසේද? අදහස් දැක්වීම, ප්‍රශ්න දිරිමත් කිරීම, මෙම විශේෂාංග ප්‍රයෝජනවත් වන්නේ කෙසේද යන්න පැහැදිලි කරන කේත ලිපි හුවමාරු කිරීම යනාදිය ...)
ඇන්ඩ rew බිකර්ටන්

3
එය ඔබගේ ඕනෑම හිසරදයක් ලිහිල් කරන්නේ නම්, කලකිරීමේ කොටසක් විය හැක්කේ භාෂාවක් ලෙස ජාවාස්ක්‍රිප්ට් වීමයි ... තේරුමක් නැත. එක්සත් ජනපදයට, මෙහි පළ කරන පුද්ගලයින්ට එය අර්ථවත් කරයි, මන්ද අපි එය දීර් time කාලයක් තිස්සේ කර ඇති බැවිනි. නමුත් අපි භාෂාව "හොඳින්" වැඩ කළ ආකාරය කෙසේ වෙතත්, මධ්‍යස්ථ ඇසට එය තේරුමක් නැත. තවත් සටහනක; කනගාටුවට කරුණක් නම්, පළපුරුදු ඩෙව්වරුන් බඳවා ගැනීමේ වටිනාකම හෝ නව උපමා ඉගෙන ගැනීමට ඉහළ කැමැත්තක් ඇති 'ඕනෑම භාෂාවක්' සංවර්ධකයින් විසින් නිරූපණය කිරීම විය හැකිය .
කටාන 314

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

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

34

JS හි ශ්‍රිතයක් නිර්මාණය කිරීම සඳහා විශාල පිළිකුලක් ඇති බව පෙනේ. මෙම පිළිකුල නිසා මිනිසුන් දක්ෂ වීමට උත්සාහ කරන අතර හාස්‍යජනක උපක්‍රම භාවිතා කරමින් ක්‍රියා ඇමතුමක් වැනි දේවල් එක පේළියක තබා ගත හැකිය. ඇත්ත වශයෙන්ම ඇමතුමක ක්‍රියාකාරී නාමය අතිරේක ලියකියවිලි ලෙසද ක්‍රියා කරයි. උපක්‍රමශීලී ප්‍රකාශනයකට අපට අදහසක් ඇමිණිය නොහැක, මන්ද එය එසේ කිරීමෙන් එය පරාජය වනු ඇත, එබැවින් අපි එය "js idiom" ලෙස හඳුන්වන අතර හදිසියේම එය තේරුම් ගත හැකිය.

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

x = x || 'default_value';

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

මම කේතය දෙස විට "මම දකින ඒක නම් nullහෝ undefined, පසුව මෙම පෙරනිමි අගය ලෙස සකස් කර ගන්න. එය ද නිසැකයෙන්ම සංග්රහ වුවත් +0, -0, NaN, false, සහ ""සුදුසු නොවන අගයන් ලෙස. මම දැන් මාස 3 විට බව අවශ්යතා මතක තබා ගැනීමට සිදු වනු ඇත වෙනස් කිරීමට. මට එය බොහෝ විට අමතක වනු ඇත.

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

ඔබගේ නව ස්නිපටයේ වඩාත් හුරුපුරුදු සින්ටැක්ස් ඇති නමුත් ඉහත ගැටලුව තවමත් පවතී.

ඔබට සමඟ යා හැකිය:

function f(x) {
    x = valueOrDefault(x, "default_value");
}

දැන් ඔබට ඉතා සංකීර්ණ තර්කනයක් තිබිය හැකි අතර සේවාදායක කේතය තවමත් ලස්සන හා කියවිය හැකි ලෙස පෙනේ.


දැන්, ශ්‍රිතයක් තර්කයක් ලෙස සම්මත කිරීම හෝ දක්ෂ උපක්‍රමයක් වැනි උසස් භාෂා විශේෂාංග අතර වෙනස හඳුනා ගන්නේ කෙසේද || "default"?

කේතය මුලින් නිර්මාණය කළ විට නොසලකා හැරිය හැකි සැඟවුණු උපකල්පන යටතේ දක්ෂ උපක්‍රම සැමවිටම ක්‍රියාත්මක වේ. අවශ්‍යතාවයක් වෙනස් වූ නිසා මට එය කිසි විටෙකත් IIFE වෙනත් දෙයකට වෙනස් කිරීමට සිදු නොවේ. සමහර විට 2020 දී මට සැබෑ මොඩියුල භාවිතා කළ හැකි නමුත් ඔව්.

| 0හෝ ~~numබිම් මහල සඳහා භාවිතා කරන භාණ්ඩ ප්‍රවාහණ අනුවාදය ධනාත්මක සහ බිට් 32 අත්සන් කළ පූර්ණ සංඛ්‍යා සීමාවන් උපකල්පනය කරයි.

|| "default" සියලු ව්‍යාජ අගයන් කිසිසේත් තර්කයක් සම්මත නොකිරීමට සමාන යැයි උපකල්පනය කරයි.

සහ යනාදි.


4
ඔබ අවධානය යොමු කරන්නේ එක් උදාහරණයකට ය. IIFEs, වසා දැමීම්, ක්‍රියාකාරී යොමු කිරීම් වැනි දේවල් භාවිතා කිරීම ගැන කුමක් කිව හැකිද? මගේ ප්‍රශ්නයේ ප්‍රධාන කරුණ එයයි.
ෆ්ලෝරියන් මාගයින්

1
LorFlorianMargaine දෙවන කොටසේදී මම එය ආමන්ත්‍රණය කළා යැයි ඔබ සිතන්නේ නැද්ද?
එසයිලිජා

3
හොඳයි, මම “උසස් භාෂා අංගයක්” භාවිතා කරන තත්වය හසුරුවන්නේ කෙසේද යන්න ගැන කිසිවක් නොකියයි, කණ්ඩායම් සාමාජිකයන් “දක්ෂ උපක්‍රමයක්” ලෙස වරදවා වටහා ගනී.
ෆ්ලෝරියන් මාගයින්

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

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

23

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

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

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


+1. OP ලබා දුන් නිශ්චිත උදාහරණය අනෙකට වඩා ආනුභවිකව වඩා හොඳ නැත, ඒවා හුදෙක් වෙනස් ය.
රොස් පැටසන්

ඉතා හොඳ පිළිතුර @ බ්‍රයන්-ඕක්ලි. චියර්ස්
ඇන්ඩි කේ

7

මෙය දැනටමත් වෙනත් පිළිතුරකින් පවසා ඇති නමුත් මෙම ප්‍රශ්නයට මගේම නියෝග වලට පිළිතුරු දීමට මම කැමතියි.

සාමාන්‍ය මාර්ගෝපදේශය

ඔබ කණ්ඩායමක වැඩ කරන විට, ඔබ කේත කැබැල්ලක ඉලක්කගත ප්‍රේක්ෂකයින් නොවේ. ඔබේ ප්‍රේක්ෂකයින් ඔබේ කණ්ඩායමේ සංවර්ධකයින් වේ. හොඳ හේතුවක් නොමැතිව ඔවුන්ට තේරුම් ගත නොහැකි කේත ලියන්න එපා.

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

නිශ්චිත උදාහරණය

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


5

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

එමගින්, ඔවුන්ගේ පුද්ගලික බුද්ධියට අපහාස නොකර හෝ කණ්ඩායම් සාකච්ඡාවකදී කිසිවෙකු අපහසුතාවයට පත් නොකර ඔබට ඔවුන්ට යමක් ඉගැන්විය හැකිය.


3

මම ඔබේ උදාහරණය උපක්‍රමයක් ලෙස නොකියමි. ඔබ එය භාවිතා කළ යුතු නම් එය IMHO මත රඳා පවතින්නේ ඔබේ කණ්ඩායමේ වර්තමාන මට්ටම මත නොවේ, නමුත් (අවම වශයෙන් සමහරක්) ඔබේ කණ්ඩායම් සගයන් නව මෝඩයන් කිහිපයක් ඉගෙන ගැනීමට කැමති නම්. ඇත්ත වශයෙන්ම, ඔබ මෙම මාතෘකාව ඔවුන් සමඟ සාකච්ඡා කළ යුතු අතර ඔවුන් මත මෙම විලාසය බලාත්මක නොකරන්න. සෑම දිනකම අළුත් දේවල් 5 ක් හෝ "උපක්‍රම" ඉගෙන ගැනීමට ඔබ ඔවුන්ගෙන් ඉල්ලා නොසිටිය යුතුය. නමුත් අවංකවම, ඔබට කණ්ඩායමේ සාමාජිකයන් පමණක් අලුත් දෙයක් ඉගෙන ගැනීමට අකමැති නම්, එය මෙම මෝඩකමට වඩා සරල හා කුඩා වුවද, ඔබ වෙනත් කණ්ඩායමකට වෙනස් වීමට සලකා බැලිය යුතුය.


3

මෙම ප්‍රශ්නය කියවීම සහ ඉන් පසුව ලැබෙන පිළිතුරු සහ සාකච්ඡා කරුණු දෙකක් බව පෙනේ. පළමුවැන්න: උසස් භාෂා විශේෂාංග භාවිතා කිරීම හරිද? දෙවැන්න: මම 'පෙන්වන' බවක් නොපෙන්වා මෙය කරන්නේ කෙසේද?

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

මිනිසුන් රටාවන්ට හුරුවී ඇති අතර බොහෝ අවස්ථාවන්හිදී මිනිසුන් විසින් කාර්යයන් සිදු කිරීම සඳහා නිශ්චිත ක්‍රමයක් භාවිතා කරයි. මම ඊලඟ මිනිසා මෙන් මේ සම්බන්ධයෙන් වරදකරුවෙක් වෙමි. අපි හැමෝටම නියමිත දින වකවානු ඇත. සමහර ආකාරවලින් ඔබ නව අදහස් සහ නව චින්තන ක්‍රම හඳුන්වා දීම සම්බන්ධයෙන් වැරදිකරුවෙකි! මෙය දෙවන කරුණට පැමිණෙන අතර බොහෝ විට ඔබට වඩාත්ම ප්‍රතිරෝධය ඇති විය හැකි ස්ථානය මෙය විය හැකිය.

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

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


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

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

3

එසේනම් රාජකීය මැක්බී පරිගණක සංස්ථාව සඳහා වැඩට නොයන්න, මන්ද ඔබ කියන්නේ අද්දැකීම් අඩු ක්‍රමලේඛකයා නොවන බවයි.

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

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

මතක තබා ගත යුතු එකම වැදගත් දෙය මෙයයි, එබැවින් මම ඔව් යැයි කියන අතර - එම ක්‍රියාකරු ක්‍රියාකරන්නේ නම් සහ පැහැදිලි නම් ඔබේ 'අද්දැකීම් අඩු' ඩෙව්ස් (කෙසේ වෙතත් එය ඔවුන්ට නින්දා සහගත ය, මම බොහෝ දේ දනිමි විවිධ වෙබ් පිටු නිබන්ධන සහ යොමු කිරීම් කටපාඩම් කර ඇති පරිදි සියලු ක්‍රියාකරුවන් සහ උපක්‍රම දන්නා අද්දැකීම් අඩු ඩෙව්වරුන්, ඔවුන් සෑම කුඩා උපක්‍රමයක්ම දැන සිටියද නරකම කේතය ලියයි ... අහම්බෙන් වඩා වැඩි යමක් මේ අතර තිබිය හැක)

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


1
(මාසයකට පෙර සිට) ඔවුන්ගේ කේතයට ආපසු නොගිය "ක්‍රමලේඛකයෙකු" මම නොදනිමි. අපි සෑම විටම ශෛලියෙන් පරිණාමය වෙමු (අවම වශයෙන් අපි උත්සාහ කරමු). මෙම විශේෂිත අවස්ථාවෙහිදී OP යනු ප්‍රමිති කේතය ලිවීම මිස WTFish කේතය නොවේ. OP "දක්ෂ" කේතයක් හෝ "සිසිල් වීමට කෙටි" කේතයක් ලිවීම ගැන සාකච්ඡා නොකරයි, එය මුග්ධ ජේඑස්.
බෙන්ජමින් ග ru න්බෝම්

2

හොඳයි, මට මූලික JS ලෙස පෙනෙන ආරම්භකයින් සඳහා.

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

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

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


1

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

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

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


1

ගැටළුව වන්නේ ඔබට ප්‍රභවයේ හොඳ කියවීමේ හැකියාව අවශ්‍ය නමුත් කියවීමේ හැකියාව නරඹන්නාගේ ඇස් හමුවේ ය.

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

මේ ආකාරයෙන්, ඔබට ටයිප් කර කියවිය හැකි x = x || 10අතර අනෙක් ක්‍රමලේඛකයින් එය කියවනු ඇත

if (0 == x) { x = 10;}

එය පහසුවෙන් කිරීමට ඊමාක්ස් සතුව සියලු කොටස් තිබේ.


1
මෙම අවස්ථාවේ දී, නරඹන්නා කවුරුන්දැයි අපි දනිමු. ඔවුන් අපේ සම සේවකයින්. මම හිතන්නේ එම වාක්‍ය ඛණ්ඩය සාමාන්‍යයෙන් භාවිතා කරන්නේ ඔබ ඔබේ ප්‍රේක්ෂකයින් නොදන්නා විට ය.
dcaswell

-1

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

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


5
මේ අවස්ථාවේ දී, මම දක්ෂ නොවේ. ඕනෑම පළපුරුදු dev සඳහා මම idiomatic code ලියමි. මම දැන් අරගල කරන්නේ ඇයි කියා ඔබට පෙනෙනවාද? :)
ෆ්ලෝරියන් මාගයින්

3
ඔබගේ පළමු ඡේදය ස්ථානගතව ඇත, නමුත් -1 ඔබේ දෙවන ඡේදය ලකුණු රහිත බැවින්. මෙම උදාහරණය බුද්ධිමත් වීමට හිතාමතා ගත් උත්සාහයක් යැයි පැවසීම සාවද්‍ය ය. එය සැබවින්ම ඉතා පැහැදිලිය, වඩා වැදගත් වන්නේ එය බොහෝ හොඳ ජාවාස්ක්‍රිප්ට් සංවර්ධකයින් එකඟ වන මුග්ධ ශෛලියකි. පෙරනිමි ශ්‍රිත පරාමිතීන් සඳහා ජාවාස්ක්‍රිප්ට් හි ඇති එකම මෝඩකම එය නොවේ, නමුත් එය පොදු එකකි.
බෙන් ලී
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.