ඔබ කියවිය හැකි සහ පහසුවෙන් නඩත්තු කළ හැකි කේතයක් ලියා ඇත්දැයි ඔබ දැන ගන්නේ කෙසේද?


352

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

මුල් කතුවරයාගේ විශේෂ expert උපදෙස් නොමැතිව යමෙකුට පහත සඳහන් කේතය සමඟ කළ හැකි විට මෙම අරමුණු ඉටු වේ :

  • කේතය කියවා මූලික මට්ටමින් තර්කනයේ ප්‍රවාහය තේරුම් ගත හැකිය.

  • යෙදවුම්, ප්‍රතිදානයන් සහ ඇල්ගොරිතම ඇතුළත් කිරීම සඳහා කේතය කරන්නේ කුමක්ද යන්න ගැඹුරු මට්ටමින් තේරුම් ගත හැකිය.

  • වෙනත් සංවර්ධකයින්ට දෝෂ නිරාකරණය හෝ ප්‍රතිචක්‍රීකරණය වැනි මුල් කේතයේ අර්ථවත් වෙනස්කම් කළ හැකිය.

  • කෙනෙකුට මුල් කේතය උත්තේජනය කරන පන්තියක් හෝ මොඩියුලයක් වැනි නව කේතයක් ලිවිය හැකිය.

කේතයේ ගුණාත්මකභාවය කියවිය හැකි, තේරුම්ගත හැකි සහ නඩත්තු කළ හැකි බව දැන ගැනීමට අපි එය ගණනය කරන්නේ කෙසේද?


163
අනිවාර්ය සබැඳිය (එක් වරක් xkcd නොකිරීමට ): osnews.com/images/comics/wtfm.jpg
ජෙරී කොෆින්

3
ඔබ එය දකින විට ඔබ එය දන්නා බව මම එකවරම කියමි, නමුත් මෙම තර්කය මූලික වශයෙන් දෝෂ සහිත වූ අතර එහි මුල් ස්වරූපයෙන් පවා අපහසුතාවයට පත්විය.
කොන්රාඩ් රුඩොල්ෆ්

6
"ඇත්ත වශයෙන්ම ඔබේ දෘෂ්ටි කෝණයෙන් ඔබේ කේතය කියවිය හැකිය" - එය පැහැදිලිව පෙනෙන්නට නැත!
UncleZeiv

27
ඔබ එය ලියා මාස කිහිපයකට පසු එය දුටු විට ඔබ එය දන්නා බව මම කියමි.
ජෙෆෝ

3
@asfallows: මම මගේ බිරිඳට යම් කේතයක් පෙන්වූ අතර, එය ඇත්තෙන්ම නරක කේතයක් යැයි ඇය සිතුවාය, මන්ද ඇයට එය කියවිය හැකි බැවිනි! (එහි ඉංග්‍රීසි
පෙනීමේ

Answers:


390

කේතය සමාලෝචනය කිරීමෙන් පසු ඔබේ සම වයසේ මිතුරන් ඔබට කියයි.

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


6
ආනුභවික පරීක්ෂණයට කිසිවක් පහර දෙන්නේ නැත.
ලෝක ඉංජිනේරු

26
+1 ඔබේ වැදගත්ම ප්‍රේක්ෂකයා වන්නේ ඔබ සමඟ වැඩ කරන ගැටලුවේ සුදු පැහැය සහ කෙසේද සහ එහි විසඳුම් දැන ගැනීමේදී ඔබ සමඟ ගිලී සිටින ඔබේ සම වයසේ මිතුරන්ය. හොඳ කේතයක් මඟින් ඔබගේ සම වයසේ කණ්ඩායමේ මේ පිළිබඳ වර්තමාන අවබෝධය පිළිබිඹු වේ. කණ්ඩායම දක්ෂ, කල්පනාකාරී සහ නව අදහස් සඳහා විවෘත යැයි උපකල්පනය කිරීම, "ඔබේ සම වයසේ මිතුරන් ඔබට එහි හොඳ / නඩත්තු කළ හැකි යැයි කියයි", මගේ අත්දැකීම් අනුව, වෙනත් ඕනෑම දෙයකට වඩා හොඳ අර්ථ දැක්වීමක් වේ.
ඩග් ටී.

72
මගේ අත්දැකීම් අනුව, මෙය ක්‍රියාත්මක වන්නේ ඔබේ සගයා හොඳ සහ නරක කුමක්දැයි දැනගත් විට පමණි. එසේ නොවුවහොත් එය මෙසේ වනු ඇත: "ඔබ එම කේතය එකම ක්‍රමයකින් ලිවිය යුතුය, එය කේතය සොයා ගැනීම පහසුය"
රංගි ලින්

12
Ran රංගිලින්, හොඳයි, ඔබේ සගයා නිවැරදි විය හැකිය.

11
Angi රංගි ඔබ සතුව ඇති සගයන් සමඟ වැඩ කළ යුතුය. ඔවුන් ඔබේ කේතය අසීරු නම් එය ඔබගේ කේතයේ ගැටළුවක් වේ. දිගු කාලීන වශයෙන්, ඔබ ඔවුන් දැනුවත් කිරීම, හෝ වඩා හොඳ සගයන් ලබා ගැනීමට උත්සාහ (ඔබ ගෙන යා හැකි හෝ ඔබ බඳවා ක්රියාවලිය බලපෑම් හැක) පුළුවන් ... ඔව් අනේ, හා නෑ හැම විටම ඔවුන්ට හරි විය හැකි බව මතකයි.
මාර්ක් ජේ

231

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

ඔබ එය ඉක්මනින් තේරුම් ගන්නේ නම් - එය කියවිය හැකිය.


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


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

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

1
Ic මයිකල් ඩුරන්ට් එය තවමත් කාරුණික ය, මන්ද ඔබ මාස හයකට පෙර කළ අපැහැදිලි දේ ඉගෙන ගත හැකි අතර අද එම දේවල් නොකරන්න.
djechlin

94

එය:

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

1 සඳහා සත්‍ය පරීක්ෂණය නම් ( පැරීසියේ ඇලෙක්ස් සහ ක්වොන්ට් දේව් පවසන පරිදි) ඔබට වෙනත් දෙයක් කිරීමෙන් මාස කිහිපයකට පසු එය නැවත ලබා ගත හැකිය.

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

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


2
නඩත්තු කිරීමේ සාධකයක් ලෙස දෝෂයක් නිවැරදි කිරීමට හෝ පවතින හැසිරීම වෙනස් කිරීමට ගතවන කාලය සලකා බැලීම ගැන කුමක් කිව හැකිද? එකම වෙනසක් කිරීමට අඩු කාලයක් අවශ්‍ය වන කේත කැබැල්ලක් වඩා නඩත්තු කළ හැකි යැයි සිතිය හැකිද?
VCD

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

31

ඔබේ කේතය SOLID සහ DRY හි මූලධර්ම අනුගමනය කරන්නේ නම් සහ ඒ වටා හොඳ ඒකක පරීක්ෂණ මාලාවක් තිබේ නම්, එය බොහෝ විට නඩත්තු කළ හැකිය.

එය කියවිය හැකිද? එය කියවන්න. ක්‍රමවේදය සහ විචල්‍ය නම් වලින් තේරුමක් තිබේද? ඔබට ගැටලුවකින් තොරව වැඩසටහන් තර්කනය අනුගමනය කළ හැකිද? පිළිතුර ඔව් නම්, කේතය කියවිය හැකිය.


8
... ඔබ එය කියවූ පසු, කියවීමට උත්සාහ කිරීම සඳහා එය වෙනත් කෙනෙකුට භාර දෙන්න.
jcmeloni

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

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

2
IMO, SOLID ඉක්මවා ඇත. විශේෂයෙන් ‘එස්. එය හෝ සෑම කෙනෙකුම එය වැරදියට කියවයි.
එරික් රෙපන්

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

26

කියවිය නොහැකි කේතය ලිවිය යුතු ආකාරය කියවීම - රෝඩි ග්‍රීන් විසින් ජීවිතයට රැකියාවක් සහතික කිරීම , සිනාසීම සහ ඉගෙනීම.

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

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

හාස්‍යජනක ආකාරයකින් රචනය ඔබට කියවිය නොහැකි සහ හඳුනාගත නොහැකි කේතයේ සියලු උදාහරණ වළක්වා ගන්නේ කෙසේද යන්න උගන්වයි.

ඇත්ත වශයෙන්ම, ඕනෑම අයෙකු පෙළෙහි උදාහරණ වලට සමානකම් සහිත කේතයක් ලියනු ඇතැයි විශ්වාස කිරීම මට අපහසු විය. ඒ මම පාසලෙන් නැවුම්ව සිටියදීය. නමුත්, වසර කිහිපයක් වැඩ කිරීමෙන් පසු සෑම දිනකම පා from යේ කේතය මට පෙනේ…


මෙයද බලන්න waterfall2006.com/gorman.html Refuctoring, කුඩා, වෙනස් වෙනස් මාලාවක් හරහා, කේතය ක welldesigned කැබැල්ලක් ගෙන, ඔබ හැර අන් කිසිවෙකුට එය සම්පූර්ණයෙන් unmaintainable කිරීමේ ක්රියාවලිය වේ.
Sjoerd

22

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

ලැයිස්තුව පිරික්සුම් ලැයිස්තුවකට ප්‍රමාණවත් නොවන තරමට විශාලය, නමුත් ඔබ පොත කියවා වැඩ කිරීමට ප්‍රධාන කරුණු කිහිපයක් තෝරා ගන්න, ඉන්පසු මාස ​​කිහිපයකට පසු එය නැවත වැඩි දියුණු කිරීම සඳහා නැවත කියවන්න.


4
වර්ධක ඉගෙනීම සඳහා +1 සහ එක රැයකින් පරිපූර්ණ වීමට උත්සාහ නොකිරීම
dj18

19

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

මෙය මගේ වෘත්තියේ මුල් පාඩමක් විය. උපදේශකයෙකු පැවසුවේ, "පසුව සියල්ල වැඩසටහනෙන් ගැලවීමට හැකි වන පරිදි සෑම දෙයක්ම ලේඛනගත කරන්න. පිළිතුරු ඔබේ මනසෙහි නැවුම් වන විට ඔබ ප්‍රශ්න අපේක්ෂා නොකරන්නේ නම්, ඒවා නොමැති විට ඒවා හඳුනා ගැනීමට ඔබට සිදුවේ."


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

1
@ හර්මන් ඉන්ජල්ඩ්සන් - ප්‍රමාණවත්. ඇත්ත වශයෙන්ම ඔවුන් දක්ෂ නැතිනම් යමක් කැඩී ගියහොත් ඔබට ඒ ගැන ඉක්මනින් අසන්නට ලැබේ. "උදව්!!!!"
MathAttack

මෙය හුදෙක් ඉහළ පිළිතුරේ
gnat

18

මම සියලු පිළිතුරු කියවා බැලුවෙමි, කිසිවෙකු කේත සංකීර්ණතාව සඳහන් කර නැති බව මම දුටුවෙමි.

කේත සංකීර්ණතාව සහ කියවීමේ හැකියාව / නඩත්තු කිරීමේ හැකියාව අතර තද සහසම්බන්ධයක් ඇත. කේත සංකීර්ණතා ලකුණු කිරීමේ ඇල්ගොරිතම ගණනාවක් ඇත, නමුත් මම මැකේබ් සංකීර්ණ ලකුණු කිරීම ක්‍රියාත්මක වන ආකාරය ගැන කතා කරමි.

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

ඔබට කේත පේළි 10 ක් තිබේ නම් සහ එම කේතය හරහා මාර්ග 300 ක් තිබේ නම්, එය කිසිසේත් හඳුනාගත නොහැකි කේතයකි (ආරක්ෂිතව හා පහසුවෙන් වෙනස් කිරීමට අපහසුය), එය බොහෝ විට කියවිය නොහැකි ය. අනෙක් අතට, ඔබට කේත පේළි 300 ක් තිබේ නම්, නමුත් එය හරහා ඇත්තේ මාර්ග 1 ක් පමණි (එයට කොන්දේසි නොමැත), එය කියවිය හැකි සහ පහසුවෙන් නඩත්තු කළ හැකිය.

කෙසේ වෙතත් මැකේබ් පහතට වැටෙන තැන එම දෙවන උදාහරණයේ ඇත. මට කොන්දේසි රහිතව කේත පේළි 300 ක් තිබේ නම්, මම “පිටපත් / පේස්ට් නැවත භාවිතා කිරීම” කිරීමට හොඳ අවස්ථාවක් තිබේ, පැහැදිලිවම එයද හොඳ දෙයක් නොවේ. එබැවින් මැකේබ්ට අමතරව ඔබ භාවිතා කරන පද්ධතිමය ප්‍රමිතික ඇත - අනුපිටපත් හෝ අනුපිටපත් කේත හඳුනාගැනීම වැනි.


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

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

8

මම බෙදා හදා ගත යුතු එක් කරුණක් නම් කේතය "මොඩියුල" වලින් සාදා ඇත්නම් සහ මා අදහස් කරන විට ඔබට මොඩියුලයක එක් දෙයක් වෙනස් කළ හැකි අතර එය පහසුවෙන් සමස්තය සමඟ ක්‍රියා කළ හැකිය. එය සම්බන්ධයක් නැති දේවල් අතර බලපෑම් ඉවත් කරයි. තවද:

  • කේතය නැවත භාවිතා කිරීම පහසුය
  • ඔබගේ කේතය නම්යශීලී වේ (මෙය මොඩියුලවල ගොඩනැගීම සමඟ සම්බන්ධ වේ)
  • වියළන්න - ඔබම නැවත කියන්න එපා

ප්‍රායෝගික ක්‍රමලේඛකයා කියවීම මම තරයේ නිර්දේශ කරමි.


8

එක වචනයකින්, අත්දැකීම් .

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

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

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


8

සමහර පරීක්ෂණ / දර්ශක:

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

  • නිදොස් කිරීම බොහෝ විට wack-a-mole හි ක්‍රීඩාවක් බවට පත්වන අතර එහිදී එක් දෝෂයක් නිවැරදි කිරීමෙන් තවත් 2+ ක් නිර්මාණය වේ.

  • ප්‍රේරක අදින්න සිට සැබවින්ම සිදුවෙමින් පවතින ප්‍රයෝජනවත් දෙයක් දක්වා, එය ක්‍රම කීයක් ඇමතුම් ලබා ගනීද? වෙනත් ක්‍රම ඇමතුමකට හරියටම සමාන හෝ බොහෝමයක් එකම පරාමිතීන් ලබා දෙන ක්‍රම කීයක් තිබේද?

  • පන්තියකට සරල නව ක්‍රමයක් එක් කිරීම සඳහා ඔබට ගොනු කීයක් විවෘත කළ යුතුද?

  • ඔබ අනුගමනය කළ රටාවන් සහ භාවිතයන් ගැන සිතන්න. ඔබ එය කළේ ඔවුන් පරිපූර්ණ අර්ථයක් ඇති නිසා හෝ "එය කළ හැකි එකම ක්‍රමය" යැයි කවුරුහරි ඔබට ඒත්තු ගැන්වූ නිසාද? හෝ ඔබේ නැවත ආරම්භයේදී ඔබට එය අවශ්‍ය වූ නිසා හෝ සමහර රොක්ස්ටාර් දේව් එසේ පැවසූ නිසා.


4
IDE නොමැතිව කේතය කියවීම විශේෂයෙන් කියවීමේ හැකියාව පිළිබඳ මිනුමක් ලෙස පෙනේ. මෙම වර්ගයේ මෙට්‍රික් ප්‍රති results ල හංගේරියානු අංකන ශෛලියේ “විසඳුම්” මගින් අවසානයේ කියවීමේ හැකියාව අඩපණ කරයි.
rubenvb

8

ඔහු නිර්මාණය කළ කේතය පහසුවෙන් නඩත්තු කළ හැකි සහ කියවිය හැකි දැයි යමෙක් දැන ගන්නේ කෙසේද?

මෙම ගුණාංග සෙවීමෙන් ඔබට නඩත්තු කිරීමට පහසු සහ කියවිය හැකි කේතයක් හඳුනාගත හැකිය:

  1. වස්තු, ක්‍රම සහ / හෝ කාර්යයන් සෑම විටම එක් දෙයක් කරයි.
  2. ක්‍රම සහ / හෝ කාර්යයන් සංක්ෂිප්ත ය ("කෙටි නමුත් විස්තීර්ණ" ලෙස).
  3. වස්තූන්, ක්‍රම සහ / හෝ කාර්යයන් මූලික වශයෙන් කරන්නේ ඔවුන්ගේ නම් මත පදනම්ව ඔවුන් කළ යුතු යැයි ඔබ සිතන දේ ය.
  4. නැවත භාවිතා කිරීම සඳහා නියම කර ඇති කේතය ඇත්ත වශයෙන්ම නැවත භාවිතා කළ හැකිය.
  5. අවසාන වශයෙන් නොව, ඔබට වහාම කේතය ඒකක-පරීක්‍ෂා කළ හැකි නම්, ඔබ අවම වශයෙන් තනි වගකීමක්, මොඩියුලර් කේතයක් ලියා ඇත.

අප අවුල් සහගත හා සිතාගත නොහැකි කේතයක් ලියා ඇත්දැයි දැන ගන්නේ කෙසේද? අප අවුල් සහගත මෘදුකාංගයක් නිර්මාණය කර ඇත්දැයි දැන ගැනීමට කිසියම් ඉදිකිරීම් හෝ මාර්ගෝපදේශ තිබේද?

  1. ඔබ ක්‍රමවේදයක් කියවනවා නම් සහ එහි අභිප්‍රාය කුමක් දැයි නොපෙනේ නම්, මෙය වඩාත්ම නුසුදුසු ය.
  2. එය සරල බවක් නොපෙනේ නම්, එය බොහෝ විට සරල නොවන අතර එය ළඟා කරගත නොහැකි කේතයක් හෝ කේතයක ලකුණක් වන අතර එය ඉක්මනින් හඳුනාගත නොහැකි වනු ඇත.
  3. කේත පදනම හරහා සමමිතිය (අනුකූලතාව) නොමැති නම්, ඔබ බොහෝ විට සොයාගත නොහැකි කේතය දෙස බලයි.

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

1
Oy රෝයි, ඔව්, සාධාරණයි. මම බොහෝ විට එම කේත නියැදිය එකතු නොකළ යුතුව තිබුණි. එය මීට වසර 3 කට පමණ පෙර සිදු වූවක් බව පිළිගත යුතුය, නමුත් එසේ වුවද, මම බොහෝ විට PHP භාවිතා නොකළ යුතුව තිබුණි (මම දැන් එය දෙස බලමින් සිටිමි), සමහර අය විසින් කරන ලද එක් කරුණක් වන බැවින් මම රීජෙක්ස් භාවිතා නොකළ යුතුව තිබුණි. බැලීමට හා වහාම එය ලබා ගත හැකි නමුත් අනෙක් අයට, කෙතරම් සංක්ෂිප්ත වුවත්, රීජෙක්ස් යනු ක්ෂණිකව නිවා දැමීමකි. මම පිළිතුර සංස්කරණය කර කේත නියැදිය අතහරින්නෙමි. අදහස් දැක්වීමට ස්තූතියි.
විල් මුවර් III

වස්තුවකට එක් දෙයක් කළ හැක්කේ කෙසේද?
කෝරේ ටුගෙයි

OraKorayTugay මේ ගැන සිතන්න. වස්තුවක් එක සංයුක්ත සංකල්පයකට වඩා විස්තර කරන්නේ නම්, ඔබට සුවඳක් ඇත.
විල් මුවර් III

3

කියවිය හැකි සහ නඩත්තු කළ හැකි කේතය: බැලූ බැල්මට ක්‍රමලේඛකයෙකුට පහසුවෙන් තේරුම් ගත හැකි කේතය:

  • එහි අතුරු මුහුණත හරහා එය නැවත භාවිතා කරන්න, හෝ
  • එය නිදොස් කරන්න, හෝ
  • එහි හැසිරීම වෙනස් කරන්න. (අංගයක් එක් කරන්න / ඉවත් කරන්න), හෝ
  • එය ප්‍රශස්ත කරන්න
  • එය පරීක්ෂා කරන්න

මෙය 'පැහැදිලිකම' දක්වා තල්ලු වේ. එනම්, අනපේක්ෂිත අතුරු ආබාධ ඇති නොකර වර්තමාන කර්තව්‍යය සාක්ෂාත් කර ගැනීම සඳහා 'ප්‍රමාණවත් තරම් හොඳ දේ තේරුම් ගෙන ඇති' බවට සහතික වීමට පෙර ක්‍රමලේඛකයාට නිශ්චිත කේත කොටසක් විමසීමට කොපමණ ප්‍රශ්න තිබේද?

ස්ටීව් මැක්කොනෙල් විසින් රචිත 'කෝඩ් කම්පල්ට්' පොත මේ පිළිබඳව සවිස්තරාත්මකව සඳහන් කරයි.

කේතය හොඳ තත්ත්වයේ තිබේද යන්න තීරණය කිරීම සඳහා ඔබට භාවිතා කළ හැකි විවිධ ප්‍රමිතික හරහා ඔහු ගමන් කරයි.

මෙහි උදාහරණයක් බලන්න: http://books.google.co.uk/books?id=3JfE7TGUwvgC&lpg=PT376&pg=PT389#v=onepage&q&f=false


පූර්ව පිළිතුරු වලින් පැහැදිලි කර ඇති කරුණු වලට වඩා සැලකිය යුතු කිසිවක් මෙය එකතු කරන බවක් නොපෙනේ
gnat

මම හිතන්නේ එය එකතු කරන වඩාත්ම සැලකිය යුතු දේ වන්නේ පෙර පිළිතුරෙහි සඳහන් නොවන කේත සම්පුර්ණ කිරීම සඳහා යොමු කිරීමකි. එම පොත කියවිය හැකි සහ නඩත්තු කළ හැකි කේත ලිවීම කෙරෙහි අවධානය යොමු කර ඇති වඩාත්ම වැදගත් හා බලගතු ග්‍රන්ථයකි. එම පොත කියවා ඇති ඕනෑම කෙනෙකුට 'ඔබ කියවිය හැකි සහ පහසුවෙන් නඩත්තු කළ හැකි කේතයක් ලියා ඇත්දැයි ඔබ දන්නේ කෙසේද?'
JW01

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

3

පාරිශුද්ධ නොවී: ක්‍රියාකාරී ශෛලියට වැඩි කැමැත්තක් දක්වන්න. මේ දිනවල බොහෝ භාෂා (.NET, Ruby, Python, Javascript, ආදිය) එයට සහය දක්වයි සහ ප්‍රවර්ධනය කරයි (උදා: LINQ, underscorejs).

එය කියවීම අතිශයින්ම පහසුය.

var recentTopCustomers = OrderList
    .Where(o => o.Date >= DateTime.Now.AddDays(-5))
    .Where(o => o.Amount > 1000)
    .OrderBy(o => -o.Amount)
    .Take(10)
    .Select(o => o.Customer);

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


2

අතුරු ආබාධ අවම කරන්න (ඉතා මැනවින් කිසිවක් නැත)

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

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

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

අතිරික්ත බාහිර යැපීම් වලින් වළකින්න

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

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

කේත නැවත භාවිතා කිරීම සමතුලිත ක්‍රියාවකි. ඕනෑවට වඩා නැවත භාවිතා කරන්න, ඔබ බුද්ධිමය සංකීර්ණතාව එකින් එක ආකාරයකට මාරු කරයි, ඔබ ඉහත සුරකින ලද සරල කේත පේළි 3 හි මෙන්, පේළි 3 කට වඩා වැඩි තොරතුරු පා readers කයන්ට සහ නඩත්තුකරුවන්ට අවබෝධ කර ගත යුතුය. . ගණිත පුස්තකාලය වෙනස් වුවහොත් ඔබේ කේතයද විය හැකි බැවින් එය ඔබගේ කේතය අඩු ස්ථාවර කරයි. ඉතා සුළු වශයෙන් නැවත භාවිතා කරන්න, ඔබ බුද්ධිමය පොදු කාර්යය ද ගුණ කරන අතර ඔබේ කේතය කේන්ද්‍රීය වැඩිදියුණු කිරීම් වලින් ප්‍රතිලාභ ලැබීම නවතා දමයි, එබැවින් එය සමතුලිත ක්‍රියාවකි, නමුත් එය සමබර කිරීමේ ක්‍රියාවක් යන අදහස සඳහන් කිරීම වටී. ප්‍රතිවිරුද්ධ අන්තයට වඩා නඩත්තු කිරීමට අපහසු, වැඩි නොවේ නම් ප්‍රති result ලයකට.

එයින් පිටත පරීක්ෂා කරන්න

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

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

අතුරු මුහුණත් ප්‍රලේඛනය

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

මේ අතර, මෙම ගුණාංග නොමැති පුද්ගලයින් විසින් කළ යුතු දේ පවා නොදන්නා කේතය SOL යනු එය ක්‍රියාත්මක කිරීමේ තොරතුරු කෙතරම් හොඳින් ලේඛනගත කර තිබුණද. පිටු 20 කින් යුත් අත්පොතක් ප්‍රභව කේතය ක්‍රියාත්මක කරන්නේ කෙසේද යන්න හරියටම වටහා ගත නොහැකි අයට එය මුලින්ම භාවිතා කළ යුත්තේ කෙසේද යන්න සහ එය කළ හැකි සෑම අවස්ථාවකම කළ යුතු දේ පවා වටහා ගත නොහැක.

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

කියවීමේ හැකියාව

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

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


1

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


1

මෙන්න මම භාවිතා කිරීමට කැමති තාක්ෂණයක්:

ඔබේ සම වයසේ ක්‍රමලේඛකයෙකුට කේතය පෙන්වන්න සහ එය කරන්නේ කුමක්ද යන්න ඔබට පැහැදිලි කරන්න. මේ දේවල් ගැන විමසිල්ලෙන් සිටින්න.

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


තුල්‍ය ක්‍රමලේඛකයා උපකල්පනය කිරීම අවම වශයෙන් සමානව අත්දැකීම් ඇති අතර ක්‍රමලේඛන භාෂාවට සහ එහි මුග්ධයන්ට කියවනු ලැබේ. බොහෝ විට මෙවැනි ක්‍රමවේදයන් මඟින් බොහෝ කනිෂ් team කණ්ඩායම් සාමාජිකයින්ට පවා අවබෝධ කර ගත හැකි නොමඟ යවන උත්සාහයකදී භාෂාවේ ප්‍රකාශනවල උප කුලකයක් තුළ කේත ලිවීමට මිනිසුන්ට මඟ පෑදිය හැකිය. මෙහි ප්‍රති result ලය වනුයේ භාෂාවේ ගොළු පහත් උප කුලකයක විශාල කේත සමූහයකි. ඔබ භාෂා උප කුලකය කෙතරම් පහත් කළත්, 500KLOC කුඩා භාෂා උප කුලක සෑම විටම වඩා ප්‍රකාශිත උප කුලකයක් භාවිතා කරන 200KLOC කේතයට වඩා නඩත්තු කිරීමට වැඩි වැඩ කොටසක් වනු ඇත.
user1703394

මෙය හුදෙක් ඉහළ පිළිතුරේ
gnat

0

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

  • උපරිම වියළීම.

දෙවනුව, සැඟවුණු පරායත්තතාවයන්ට වඩා නඩත්තු කිරීම සඳහා නරක දෙයක් තවත් නැත. එබැවින් රීති අංක 2 සඳහා:

  • ඔබගේ සියලු පරායත්තයන් පැහැදිලි කරන්න.

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

හරස් ව්‍යාපෘති පුස්තකාල: ජ්‍යෙෂ් dev ඩෙව්ස්, උපක්‍රම කේත / මුග්ධ / ශිල්පීය ක්‍රමවල සම්පූර්ණ පිටුපස ව්‍යාපෘති විශේෂිත පුස්තකාල සහ පද්ධති පසුබිම: මධ්‍යස්ථ සංවර්ධකයින්, වඩාත්ම දියුණු හා කරුණු පැහැදිලි කිරීමට අපහසු වන්න. ඩ්‍රයි වැඩිදියුණු කිරීමේ අවස්ථා සොයමින් ජ්‍යෙෂ් i යන් මෙම කේතය අහෝසි කරනු ඇත.

ඉදිරිපස අන්තය: කනිෂ් dev ඩෙව්ස්, වළක්වා ගැනීම සඳහා දැඩි ශෛලීය මාර්ගෝපදේශයක් සහ භාෂා ව්‍යුහයන් සහ මෝඩයන් භාවිතා කරන්න. ඩ්‍රයි අවස්ථාවන් සහ සැඟවුණු ව්‍යාපාරික තර්කනය සොයමින් මධ්යකාලීන ඩෙව්ස් මෙම කේතය තදින් අල්ලා ගනු ඇත.

එබැවින් රීති අංක 3 සඳහා:

  • සංවර්ධක නිපුණතා මට්ටම අනුව ඔබේ කේතය ලේයර් කර ඒ අනුව නඩත්තු කළ හැකි කේතය ලියන්න.

මම


1
පූර්ව පිළිතුරු 25 කින් පැහැදිලි කර ඇති කරුණු වලට වඩා සැලකිය යුතු කිසිවක් මෙය ඉදිරිපත් කරන බවක් නොපෙනේ
gnat

ඇග්නාට්, වෙනත් පිළිතුරු වල බොහෝ (හානිකර විය හැකි) අධි සරල කිරීම් වලට 'සූක්ෂ්මතාව' එක් කිරීමට මම බලාපොරොත්තු වෙමි. විශේෂයෙන් 3 වන කරුණ සමඟ
user1703394

1
question user1703394 මෙම ප්‍රශ්නය සහ එහි පිළිතුරු ප්‍රජා විකිය. පවතින පිළිතුරක් වැඩිදියුණු කළ හැකි යැයි ඔබට හැඟේ නම් “වෙනත් පරිශීලකයින්ගේ ලිපි සංස්කරණය කරන්න” වරප්‍රසාදය නොමැතිව ඔබට එය සංස්කරණය කළ හැකිය.

-2

කියවිය හැකි සහ පහසුවෙන් නඩත්තු කළ හැකි කේතයක් ලිවීමට එය කිසි විටෙකත් පහසු නැත, නමුත් පහසු සහ නඩත්තු කළ හැකි කේතයක් ලිවීමට අපහසු නොවේ.

OOAD යනු අකුරු හතරක වචනයකි, නමුත් එකවර තේරුම් ගැනීම අපහසුය - වස්තු නැඹුරු විශ්ලේෂණය සහ සැලසුම් අනුගමනය කරන්න

  1. සෑම විටම හොඳ අවශ්‍යතා එක්රැස් කිරීමකින් සහ නිවැරදි ගැටළු ප්‍රකාශයකින් ආරම්භ කරන්න

    • භාවිත අවස්ථා කිහිපයකින් ආරම්භ කරන්න, එනම්; පද්ධති-පරිශීලක සංවාද අන්තර්ක්‍රියා
  2. ඔබ ඔබේ වස්තූන් ලිහිල්ව තබා ගත යුතු අතර ඔබේ කේතය නැවත නොකිරීමට වග බලා ගන්න - ඩ්‍රයි අනුගමනය කරන්න [ඔබම නැවත නොකරන්න]

    • ඔබ අනුපිටපතක් දුටු ඕනෑම වේලාවක, වටකර ගැනීමට ස්ථානයක් සොයන්න
  3. ඔබේ කේතය දිගුව සඳහා විවෘතව ඇති අතර වෙනස් කිරීම සඳහා වසා ඇත - OCP [විවෘත සංවෘත මූලධර්මය]
  4. ඔබ ඔබේ කේතය වෙනස් කරන විට සැමවිටම මතක තබා ගන්න - ගැටලු විසඳීම සඳහා ගැටළු ඇති නොකරන්න, තොරතුරු තාක්ෂණයේ සඳහන් වන්නේ ඔබගේ පවතින ක්‍රියාකාරිත්වය වෙනස් නොකරන බවයි
  5. ඒකකය ඔබේ කේතය පරීක්ෂා කරන්න
    • දේවල් වැරදුණු විට සෑම විටම ඔබේ කේතය පරීක්ෂා කරන්න
  6. ක්‍රියාකාරීත්වය මත වැඩ කරන අතරතුර ඔබේ යෙදුම මුල සිටම හොඳින් සැලසුම් කර ඇති බව තහවුරු කර ගැනීම සඳහා මූලික OOP (වස්තු නැඹුරු මූලධර්ම) සහ ශිල්පීය ක්‍රම අනුගමනය කිරීමට මතක තබා ගන්න
    • වස්තූන් ඔවුන්ගේ නමේ සඳහන් දේ කළ යුතුය
    • සෑම වස්තුවක්ම තනි සංකල්පයක් නියෝජනය කළ යුතුය
  7. පද්ධතියේ ගැටළු ප්‍රකාශය සහ සන්දර්භය / වසම් මෘදුකාංග ක්‍රියාත්මක වන සෑම විටම මතක තබා ගන්න
  8. කඩදාසි වැඩ ටිකක් කරන්න- ඔව් මට වැඩ
    • UI ආශ්‍රිත දේවල් සහ UML රූප සටහන් වල මුද්‍රිත පිටපත් තිබීම සැමවිටම ක්‍රියාත්මක වේ
    • ඔබට ධවල පුවරුවෙන් මොළය අවුස්සන සැසියේ තිර දර්ශන පවා ලබා ගත හැකිය
  9. ගෘහ නිර්මාණ පිරිසැලසුම්
  10. හැකි නම් සැලසුම් මූලධර්ම යොදන්න
  11. ප්‍රලේඛනය
    • සෑම විටම ඔබේ කේතය ලේඛනගත කරන්න
    • IDE හි ඉන්ඩෙන්ටේෂන් සකසා එයද ලේඛනගත කරන්න

1
මෙය න්‍යාය වන අතර එය කියවිය හැකි, තේරුම්ගත හැකි සහ නඩත්තු කළ හැකි බව අප දන්නා පරිදි කේතයේ ගුණාත්මකභාවය ගණනය කරන්නේ හෝ මැන ගන්නේ කෙසේද? ප්‍රශ්නය
Jan Doggen

එකඟ විය !! නමුත් අප ඉහත සඳහන් මූලධර්ම අනුගමනය කරන්නේ නම් කේතයේ ගුණාත්මකභාවය මැනීම පහසුය, කියවිය හැකි, තේරුම්ගත හැකි සහ පැහැදිලිවම නඩත්තු කළ හැකිය. මම වැරදියි නම් මාව නිවැරදි කරන්න.
නරේන්දර් පර්මාර්

මගේ පිළිතුර පහත් කොට සලකන්නේ මන්දැයි මම නොදනිමි, මම දැනටමත් ප්‍රධාන කරුණු පවා ආවරණය කරමි
නරේන්දර් පර්මාර්
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.