මෝස්තර රටා දෙස බලන්නේද?


137

මම අවුරුදු 20 ක් තිස්සේ ව්‍යාපාරයේ යෙදී සිටින අපගේ ජ්‍යෙෂ් develop සංවර්ධකයෙකු සමඟ සාකච්ඡාවක් පැවැත්වුවෙමි. ඔහු ලියන බ්ලොග් අඩවියක් සඳහා ඔන්ටාරියෝහි ඔහු හොඳින් දනී.

අමුතුම දෙය නම් ඔහු මට පැවසූ දෙයයි: ඔහු පැවසුවේ කේත කැබැල්ලක් වැඩ කිරීමට බියකරු සිහිනයක් බවත් එය පෙළපොතකින් ලියා ඇති නිසා බවත් එය සැබෑ ලෝකයට ගණන් නොගන්නා බවත්ය. UI / database / Data layer වෙත නව ක්ෂේත්‍රයක් එක් කිරීමට පැය 2-3 ක් ගත වන අතර ඔහුගේ කේතයේ මිනිත්තු 30 ක් ගතවේ.

අනෙක් කාරණය නම් ඔහු බොහෝ රටා ක්‍රමලේඛකයින් තේරුම් නොගන්නා නිසාත් ඒවා නඩත්තු දෘෂ්ටි කෝණයකින් හොඳ නැති නිසාත් ඔහු මෝස්තර රටා මග හැරීමයි.

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

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

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

මෙම ප්‍රකාශ වලින් ඔබ කරන්නේ කුමක්ද?



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

34
කර්මාන්තයේ ප්‍රමිතිය, සැලසුම් රටාව සහ හොඳම භාවිතයන් යනු "යමෙකු ඔවුන්ගේ සන්දර්භය මත වඩා හොඳින් ක්‍රියා කරන බව පැවසූ දේවල් පමණක් වන අතර එමඟින් එය ඔබටත් බලපායි. බොහෝ විට සමහර විට" ®. ඔබේ ජ්‍යෙෂ් dev දේව්ගේ අයිතිය.
CptEric

86
මෙයට Agile සමග කිසිදු සම්බන්ධයක් නැත.
කක්ෂයේ සැහැල්ලු ධාවන තරඟ

70
"ජ්‍යෙෂ් m එම්වීසී සංවර්ධක" "මෝස්තර රටා නරකයි" සංජානන විසංවාදය
ඩෑන් පැන්ට්රි

Answers:


239

සාර්ථකත්වය සොයාගෙන ඇති පුද්ගලයෙකුගේ වචන මේවා වන අතර ඔහුට නොතේරෙන රටා ප්‍රභාෂයෙන් කුමක් කළ යුතු දැයි ඔහුට පැවසීමට උත්සාහ කරයි.

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

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

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


13
වර්තමානයේ බොහෝ අය “මෝස්තර රටා” යන යෙදුම භාවිතා කරන විට, ඔවුන් සාමාන්‍යයෙන් යොමු දක්වන්නේ හතර කල්ලියට බව එකඟ වේ .
රොබට් හාවි

35
හරි, මම ඉංග්‍රීසි භාවිතා කිරීමට කැමතියි, එය මට තේරෙනවා. ප්‍රංශ ජාතිකයන් එය සම්මත කර ගැනීමට මෙතරම් කාලයක් ගත වූයේ මන්දැයි නොදනී. ඔවුන් කරන තුරු මම මේ මෙට්‍රික් ක්‍රමය ගැන ටිකක් ඉගෙන ගන්නෙමි.
candied_orange

6
එය ඔහුට නොතේරෙන බවක් නොවිය හැකිය, එය ඔහු තේරුම් ගෙන ඇති බවක් විය හැකි නමුත් සෑම අවස්ථාවකම සෑම දෙයක්ම අදාළ නොවන බව ඔහු දනී.
whatsisname

149
"නමක් ඇති රටාවක් එය හොඳ දෙයක් නොවේ. එය හඳුනාගත හැකි දෙයක් බවට පත් කරයි." අනේ දෙවියනේ, මම මෙතෙක් අසා ඇති ගැටලුවේ හොඳම සාරාංශය මෙයයි: D
කක්ෂයේ සැහැල්ලු ධාවන තරඟ

7
An ජැන් ඩොගන් මෘදුකාංග සංවර්ධනයේ පොදු රටාවන් වන බැවින් ඒවා (ප්‍රති-රටා) ලෙස හැඳින්වේ (ඒවායින් සමහරක් සැලසුම් ආශ්‍රිත රටා වේ).
ජාබ්

94

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

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

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

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


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

34
G Igneous01: කිසි විටෙකත් සැබෑ ලෝක අත්දැකීම් නොමැති මහාචාර්යවරයෙක් “හොඳ” යැයි සලකන දේ ව්‍යාපාරයක් මුදල් ඉපැයීමට උත්සාහ කරන දෙයින් “හොඳ” යැයි සලකන දෙයට වඩා රැඩිකල් ලෙස වෙනස් විය හැකි බව සලකන්න.
රොබට් හාවි

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

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

23
"ඇත්ත වශයෙන්ම පොදු කාර්ය එකතු කිරීම හැර වෙනත් දෙයක් ඉටු කරන කේතය" - ව්‍යවසාය මෘදුකාංගයේ පරමාර්ථය වූයේ ඇත්ත වශයෙන්ම කිසිවක් ඉටු කරන කේතයක් නොතිබීමයි . මෘදුකාංගයට තිබිය හැකි ඕනෑම සත්‍ය හැසිරීමක්, ස්ථර සැලැස්මේ නැගී එන දේපලක් විය යුතුය, නැතහොත් කේතය දත්ත ලෙස සලකන ව්‍යාපාරික නීති වලින් වගු ගත යුතුය. මම විහිළුවක් කරන්නේ 50% ක් පමණයි.
ස්ටීව් ජෙසොප්

86

Stackoverflow.SE සහ Programmers.SE වැඩිපුරම උනන්දු කරන්නේ කර්මාන්ත ප්‍රමිතීන් නොව SOLID වැනි හොඳම භාවිතයන් අනුගමනය කිරීමට ය . එය විශ්වාස කළත් නැතත්, තථ්‍ය කර්මාන්ත ප්‍රමිතිය බොහෝ විට “මඩ වල විශාල බෝලය” ගෘහ නිර්මාණ ශිල්පයයි - බැරෑරුම් ලෙස.

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


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

1
@ ජෙරමි හොලොවැක්ස්: හරියටම නොවේ. මා දකින ගැටලුව නම් උගත් සංවර්ධකයින් පවා ඒවා ඕනෑවට වඩා භාවිතා කිරීමයි. පළපුරුදු ඩෙව්ස් විසින් "කෙසේ හෝ" ගැළපෙන නමුත් හොඳ නැති රටාවකට ගැටළුවක් ඇති කිරීමට උත්සාහ කළ විසඳුම් මම බොහෝ විට දැක ඇත්තෙමි.
ඩොක් බ්‍රවුන්

45
  1. සැලසුම් රටා යනු අදහස් සන්නිවේදනය කිරීම සඳහා භාවිතා කරන නම් පමණි. බොහෝ විට මා නමක් ඇති දේවල් කරන බව මට පෙනී ගියේය. මේ අනුව, “සැලසුම් නොවන රටා මාර්ගයකට” වෙනස්ව “සැලසුම් රටා ක්‍රමයක්” නොමැත.

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

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


5
RE: අංක 1, ඔව්, එහි සිටියා - මම අච්චු රටාව නිර්මාණය කළා. මම මුලින් ඒක කළේ නැහැ. නැත්නම් පළමුවෙන් වගේ දෙයක්.
ග්‍රිම් ද ඔපිනර්

30

සුප් එකට තවත් රූපකයක් එකතු කිරීම සඳහා, සැලසුම් රටා වන්නේ ක්ලිපි මයික්‍රොසොෆ්ට් ඔෆිස් සහායකයා ය. "ඔබ මුළු දේම එකම දේ කරන බව පෙනේ. ඔබට ඉටරේටර් හෝ ආගන්තුකයෙකු ලබා දීමෙන් මට ඔබට උදව් කළ හැකිද?"

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

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

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

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

UI / database / Data layer වෙත නව ක්ෂේත්‍රයක් එක් කිරීමට පැය 2-3 ක් ගත වන අතර, ඔහුගේ කේතයේ මෙන් මිනිත්තු 30 ක් ගතවේ.

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

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

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

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


5
"සැලසුම් රටා ක්ලිපි මයික්‍රොසොෆ්ට් ඔෆිස් සහායකයා" මම අද රාත්‍රියේ බියකරු සිහින දකිමි.
MetalMikester

"අද්දැකීම් අඩු අයට වැරදියට සිදුවිය හැකි තැන [ඔවුන්] කේතය සැලසුම් කිරීමට උත්සාහ කරන විට එය අවසන් වන තුරු නිර්මාණ රටා එකට සම්බන්ධ කිරීම." ඇහුම්කන් දෙන්න. මට ලබා දීමට බහුවිධ උපක්‍රම තිබුනා නම් හොඳයි. :)
Quuxplusone

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

20

ඔබේ සගයා එන්අයිඑච් සින්ඩ්‍රෝම් ("මෙහි නව නිපැයුම් කර නැත") වලින් පෙළෙන බව පෙනේ .

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

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

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

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

බොහෝ ව්‍යවසාය යෙදුම්වල ස්ථර ප්‍රවේශයන් වෙනත් ගෘහ නිර්මාණ ශිල්පයට වඩා උසස් බව ඔප්පු වී ඇත. ලෝක මට්ටමේ ප්‍රමුඛ පෙළේ පැකේජ මෙම අදහස වටා ව්‍යුහගත වී ඇති අතර විශාලත්වයේ අනුපිළිවෙලින් ශිල්පීය ගෘහ නිර්මාණ ශිල්පය අභිබවා යයි. මාටින් ෆෝලර් මෙම ප්‍රවේශය ඉදිරිපත් කරන්නේ “ව්‍යවසාය ගෘහ නිර්මාණ ශිල්පයේ රටාවන්” පිළිබඳ ඔහුගේ විශිෂ්ට පොතේ ය. ඔහ්! නැවත කණගාටුයි: එය ඔප්පු කළ රටාවන් ගැන ය; ඔබේ සගයාගේ NIH දර්ශනයට අවස්ථාවක් නැත ;-)


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

aypay මෙය උතුරු ඇමරිකාවට පමණක් සීමා වී ඇති බව මට විශ්වාස නැත ;-) අතීතයේ දී අප දැනටමත් භාවිතා කර ඇති විසඳුම් සඳහා යම් සාර්ථකත්වයක් ලබා ගැනීමට සැමවිටම පෙළඹේ. එය සුවපහසුව කලාපයයි. එහෙත් යමෙකු සෑම විටම නව අදහස් හා අභියෝගාත්මක සගයන් සමඟ dialog ලදායී සංවාදයක් සඳහා විවෘතව සිටිය යුතුය. සියල්ලට පසු, " ඔබ වේගයෙන් තනිවම ගමන් කරනවා, නමුත් එකට එකට යන්න. "
ක්‍රිස්ටෝප්

16

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

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

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

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


1
සඳහා +1 Design patterns are standard solutions to standard problems. ඊට වඩා උත්තරීතර පිළිතුරු වලින් එය දැකීමට නොහැකි වීම ගැන මම තරමක් කලකිරී සිටිමි. මේ නිසා ඔබ මුලින්ම ඔබේ ගැටලුව සම්මත ගැටලුවකට ගැලපේදැයි හඳුනා ගැනීමට අවශ්‍ය වන අතර බොහෝ විට ඒවා මඟ හැරෙනු ඇත.
වොල්ෆ්‍රට්

8

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

එම ආලෝකයේ දී, එක් භාවිත නඩුවක සිට ඊළඟට කිසිදු සංකල්පයක් හෝ ක්‍රියාත්මක කිරීමක් භාවිතා කළ නොහැකි 100% එක්-ඕෆ් කේතයක් ලිවීමට ඔබ සැබවින්ම කැපවී සිටින්නේ නම් මිස, ඔබ අවම වශයෙන් සමහර මෝස්තර රටා භාවිතා කරයි. ඔවුන්ට "නිධිය" හෝ "වැඩ ඒකකය" හෝ "එම්වීසී" වැනි දීප්තිමත්, පොදු නම් නොතිබිය හැකි නමුත්, ඒවා "නිර්මාණ රටාවක් නොවේ".


6

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

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

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

ඒ නිසා - නැත - සැලසුම් රටාවන් වේගවත් සංවර්ධන පරිසරයන් තුළ නොගැලපේ; කෙසේ වෙතත් සංවර්ධනය කලාතුරකින් සාමාන්‍ය හා වියුක්ත රටාවකට හොඳින් ගැලපෙන තරම් වියුක්ත වන අතර (පළපුරුදු) සංවර්ධකයා මෙය දනී.


5

UI / database / Data layer වෙත නව ක්ෂේත්‍රයක් එක් කිරීමට පැය 2-3 ක් ගත වන අතර, ඔහුගේ කේතයේ මෙන් මිනිත්තු 30 ක් ගතවේ.

ඔබට නිර්මාණයක් "ප්‍රශස්තිකරණය" කිරීමට අවශ්‍ය නම් ඔබ ප්‍රශස්තිකරණය කිරීමට උත්සාහ කරන දේ පැවසිය යුතුය.

උදාහරණයක් ලෙස, රේසිං බයිසිකලයක් යනු ප්‍රශස්ත වාහනයක් වන අතර බෝයිං 747 ද ප්‍රශස්ත වාහනයක් වේ ... නමුත් ඒවා වෙනස් අවශ්‍යතා සමූහයක් සඳහා ප්‍රශස්තිකරණය කර ඇත.

"MVC" රටාව පිළිබඳ අදහස, උදාහරණයක් ලෙස, වැනි දේ සඳහා ප්‍රශස්තිකරණය කරයි:

  • එකම ආකෘතියේ විවිධ අදහස් (දැක්ම ආකෘතියෙන් ස්වාධීන වේ)
  • සෑම ස්ථරයක්ම වෙන වෙනම සංවර්ධනය කළ හැකිය (උදා: විවිධ කණ්ඩායම් විසින්) සහ ඒකාබද්ධ වීමට පෙර වෙන වෙනම (ඒකක පරීක්ෂණ) පරීක්ෂා කළ හැකිය
  • ආදිය.

ඔහුගේ කේතය වෙනත් දෙයක් සඳහා ප්‍රශස්තිකරණය කළ හැකි නමුත්, උදාහරණයක් ලෙස:

  • කේතයේ අවම රේඛා
  • එක් පුද්ගලයෙකුට සියලු ස්ථර වලට බලපාන වෙනසක් කිරීම පහසුය (සැබවින්ම වෙනස් ස්ථර නොමැති වීමෙන්)
  • ආදිය.

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


“සැබවින්ම එකිනෙකට වෙනස් ස්ථර නොමැති වීමෙන්” - හෝ, සාධාරණව කිවහොත්, ස්ථර හරහා ප්‍රචාරණය වන පිළිගත හැකි “පෙරනිමි හැසිරීම්” තිබීමෙනි. උදාහරණයක් ලෙස, වෙබ්-පාදක SQL පරිපාලක යෙදුම් යනු දත්ත සමුදා ස්තරය වෙනස් වූ විට ස්වයංක්‍රීයව යාවත්කාලීන වන ඉදිරිපත් කිරීමේ ස්තරයකි. සීමිත භාවිතයන් හැරුණු විට, ඔවුන් ඔබේ දත්ත පරිශීලකයින්ට ඉදිරිපත් කිරීමට අවශ්‍ය ආකාරයට ඉදිරිපත් නොකරයි :-) පැය භාගයක් නව ක්ෂේත්‍රයක් එක් කිරීමට ඇදහිය නොහැකි තරම් ඉක්මන් බවක් පෙනේ, එයින් සැලසුම් කිරීමට සැලකිය යුතු UI නොමැති බව යෝජනා කරයි නව ක්ෂේත්‍රය සමඟ සම්බන්ධතාවය, ස්ථර හෝ වෙනත් ආකාරයකින්.
ස්ටීව් ජෙසොප්

4

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

බොහෝ විට, නිර්මාණ රටාවක් එක් සත්‍ය මාර්ගයක් ලෙස ප්‍රචාරය කරනු ලැබේ, එය බොහෝ විට සත්‍ය වන්නේ විශේෂිත ගැටළු ඇති වූ විට පමණි. කනිෂ් develop සංවර්ධකයින් බොහෝ විට ළමයින් සමඟ සෙල්ලම් කිරීමට අලුත් දෙයක් සොයා ගත් විට; ඔවුන්ට අවශ්‍ය වන්නේ එම මෝස්තර රටාව සෑම දෙයකටම අදාළ කර ගැනීමයි . රටාව A ගැටළුව B ට අදාළ වන බවත්, රටාව C ගැටළුව D ට අදාළ වන බවත් ඔවුන් ඉගෙන ගන්නා තාක් කල්, එහි සහජයෙන්ම වැරැද්දක් නොමැත. නියපොතු පැදවීම සඳහා ඔබ ඉස්කුරුප්පු නියනක් භාවිතා නොකරන ආකාරයටම, ඔබ විශේෂිත දෙයක් භාවිතා නොකරයි රටාව පවතින පමණින්; ඔබ රටාව භාවිතා කරන්නේ එය කාර්යය සඳහා හොඳම (දන්නා) මෙවලම වන බැවිනි.

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

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

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

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

සාමාන්‍යයෙන් , රටාවන් සුසංයෝගී මෝස්තරයකට ඉඩ දෙන අතර, 100% මුල් අදහස් ලිවීමට පක්ෂව සියලු රටාවන් නොසලකා හැරීමට වඩා හොඳින් ක්‍රියා කරනු ඇත, නමුත් ඔබට සියලු රටාවන් මග හැරිය නොහැක. උදාහරණයක් ලෙස, y = x + 5 නම්, ඔබ ඇත්ත වශයෙන්ම x + 5 ලිවීමේ රටාව මග හැරීම සඳහා y = x + (5 * 3 + 15/3) / 4 ලිවීමට යන්නේද? නැහැ. ඔබ y = x + 5 ලිවීමට යන්නේ, ඊළඟ ගැටලුව වෙත යන්න.

මිනිසුන් සෑම දිනකම රටා භාවිතා කරන අතර එය හරි . වඩාත්ම වැදගත් දෙය වන්නේ තර්කානුකූලව ක්‍රියාකාරී, කලාතුරකින් බිඳ වැටෙන සහ පරිශීලක-හිතකාමී කේත තිබීමයි. ඊට වඩා වැදගත් දෙයක් නැත.


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

2

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


2

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

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

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

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.