د هغه څه د پراختیا لپاره موافق نه یاست چې تاسو یې نه پوهیږئ

د هغه څه د پراختیا لپاره موافق نه یاست چې تاسو یې نه پوهیږئ

د 2018 له پیل راهیسې، زه په ټیم کې د مشر/باس/لیډ پراختیا کونکي موقف په غاړه لرم - هغه څه ته یې ووایاست چې تاسو یې غواړئ، مګر ټکی دا دی چې زه په بشپړه توګه د یو ماډل او د ټولو پراختیا کونکو لپاره چې کار کوي مسؤل یم. ورباندې. دا موقف ماته د پراختیایي پروسې په اړه یو نوی لید راکوي، ځکه چې زه په ډیرو پروژو کې دخیل یم او په پریکړه کولو کې ډیر فعاله دخیل یم. په دې وروستیو کې، د دې دوو شیانو څخه مننه، زه ناڅاپه پوه شوم چې د پوهې اندازه څومره په کوډ او غوښتنلیک اغیزه کوي.

هغه ټکی چې زه یې غواړم هغه دا دی چې د کوډ کیفیت (او وروستی محصول) له دې سره نږدې تړاو لري چې هغه خلک چې کوډ ډیزاین او لیکل کوي د هغه څه په اړه پوهیږي چې دوی یې کوي.

تاسو شاید همدا اوس فکر کوئ، "مننه، کیپ. البته، دا به ښه وي چې پوه شئ چې تاسو په عمومي توګه څه لیکئ. که نه نو، تاسو کولی شئ د بندرونو یوه ډله هم وګمارئ ترڅو خپل سري کلیدونه ووهئ او هغه یې پریږدئ." او تاسو بالکل صحیح یاست. په دې اساس، زه دا درکوم چې تاسو پوهیږئ چې د هغه څه په اړه عمومي نظر درلودل اړین دي چې تاسو یې کوئ. دې ته د پوهاوي صفر کچه ویل کیدی شي، او موږ به یې په تفصیل سره تحلیل نه کړو. موږ به په تفصیل سره وګورو چې تاسو واقعیا څه پوهیدو ته اړتیا لرئ او دا څنګه هره ورځ په پریکړو اغیزه کوي. که زه دا شیان دمخه پوهیدلی وای ، نو دا به ما ډیر ضایع شوي وخت او د پوښتنې وړ کوډ خوندي کړی وای.

که څه هم تاسو به لاندې د کوډ یوه کرښه ونه ګورئ، زه لاهم باور لرم چې هر څه چې دلته ویل شوي د لوړ کیفیت، څرګند کوډ لیکلو لپاره خورا مهم دي.

د پوهاوي لومړۍ کچه: ولې دا کار نه کوي؟

پراختیا کونکي معمولا د دوی په مسلک کې خورا دمخه دې کچې ته رسي ، ځینې وختونه حتی د نورو مرستې پرته - لږترلږه زما په تجربه کې. تصور وکړئ چې تاسو د بګ راپور ترلاسه کړی: په غوښتنلیک کې ځینې فعالیت کار نه کوي ، دا باید تنظیم شي. تاسو به څنګه پرمخ لاړ شئ؟

معیاري سکیم داسې ښکاري:

  1. د کوډ یوه ټوټه ومومئ چې د ستونزې لامل کیږي (دا څنګه ترسره کول یوه جلا موضوع ده، زه یې د میراث کوډ په اړه زما په کتاب کې پوښم)
  2. په دې ټوټه کې بدلونونه راولي
  3. ډاډ ترلاسه کړئ چې بګ فکس شوی او د ریګریشن تېروتنه نه ده شوې

اوس راځئ چې په دویم ټکي تمرکز وکړو - په کوډ کې بدلونونه. د دې پروسې لپاره دوه لارې شتون لري. لومړی دا دی چې په اوسني کوډ کې واقعیا څه پیښیږي کشف کړئ ، تېروتنه وپیژنئ او سم یې کړئ. دوهم: د احساس په واسطه حرکت وکړئ - یو مشروط بیان یا لوپ ته اضافه کړئ، ووایاست، +1 وګورئ، وګورئ چې فعالیت په مطلوب سناریو کې کار کوي، بیا یو څه هڅه وکړئ، او داسې نور.

لومړی طریقه سمه ده. لکه څنګه چې سټیو مک کونل په خپل کتاب کې تشریح کوي کوډ بشپړ (کوم چې زه یې په کلکه وړاندیز کوم ، په لاره کې) ، هرکله چې موږ په کوډ کې یو څه بدل کړو ، موږ باید وکولی شو په ډاډ سره وړاندوینه وکړو چې دا به څنګه غوښتنلیک اغیزه وکړي. زه د حافظې څخه نقل کوم ، مګر که یو بګ فکس هغه ډول کار ونکړي چې تاسو یې تمه درلوده ، تاسو باید ډیر اندیښمن اوسئ او تاسو باید د خپل ټول عمل پلان پوښتنه وکړئ.

د هغه څه لنډیز کولو لپاره چې ویل شوي ، د ښه بګ فکس ترسره کولو لپاره چې د کوډ کیفیت خراب نه کړي ، تاسو اړتیا لرئ د کوډ بشپړ جوړښت او د ځانګړي ستونزې سرچینې دواړه پوه کړئ.

د پوهاوي دوهمه کچه: ولې دا کار کوي؟

دا کچه د تیر یو په پرتله خورا لږ په شعوري توګه درک کیږي. ما، پداسې حال کې چې لاهم یو نوی جوړونکی و، دا زما د مالک څخه مننه زده کړه، او وروسته یې په مکرر ډول د موضوع جوهر نوي راغلو کسانو ته تشریح کړ.

دا ځل، راځئ تصور وکړو چې تاسو په یو وخت کې دوه بګ راپورونه ترلاسه کړي: لومړی د سناریو A په اړه دی، دوهم د سناریو B په اړه دی. په دواړو سناریو کې، یو څه غلط پیښیږي. په دې اساس، تاسو لومړی لومړی بګ حل کړئ. د هغه اصولو په کارولو سره چې موږ د 1 کچې پوهیدو لپاره رامینځته کړي ، تاسو د ستونزې اړوند کوډ ته ژور کیندئ ، معلومه کړئ چې ولې دا غوښتنلیک د A سناریو په څیر چلند کوي ، او مناسب تعدیلات رامینځته کړئ چې تاسو یې تمه لرئ. . هر څه ښه روان دي.

بیا تاسو سناریو B ته لاړشئ. تاسو د تیروتنې د هڅولو لپاره سناریو تکرار کړئ، مګر حیرانتیا! - اوس هرڅه لکه څنګه چې باید کار وکړي. د خپل اټکل تصدیق کولو لپاره ، تاسو هغه بدلونونه بیرته راګرځوئ چې تاسو په بګ A کې کار کولو پرمهال کړي ، او بګ B بیرته راځي. ستاسو بګ فکس دواړه ستونزې حل کړې. بختور!

تاسو په دې هیڅ حساب نه دی کړی. تاسو په A سناریو کې د تېروتنې د سمولو لپاره یوه لاره موندلې او نه پوهېږئ چې ولې د سناریو B لپاره کار کوي. په دې مرحله کې، دا فکر کول خورا زړه راښکونکي دي چې دواړه کارونه په بریالیتوب سره بشپړ شوي. دا خورا منطقي ده: نقطه د غلطیو له مینځه وړل وه، ایا دا نه وه؟ مګر کار لا پای ته نه دی رسیدلی: تاسو لاهم باید معلومه کړئ چې ولې ستاسو کړنو په B سناریو کې تېروتنه سمه کړه. ولې؟ ځکه چې دا ممکن په غلطو اصولو کار کوي، او بیا تاسو اړتیا لرئ چې د یوې بلې لارې په لټه کې شئ. دلته د داسې قضیو یو څو مثالونه دي:

  • څرنګه چې حل د B غلطۍ سره سمون نه درلود، نو ټول فکتورونه په پام کې نیولو سره، تاسو ممکن په ناپوهۍ سره د C مات شوي فعالیت ولرئ.
  • دا ممکنه ده چې په ورته فعالیت پورې اړوند دریم بګ هم په کوم ځای کې پټ وي ، او ستاسو بګ فکس په سناریو B کې د سیسټم سم عملیاتو لپاره پدې پورې اړه لري. اوس هر څه ښه ښکاري، مګر یوه ورځ به دا دریمه ستونزه په پام کې ونیول شي او حل شي. بیا په سناریو B کې به بیا تکرار شي، او دا ښه ده که یوازې هلته وي.

دا ټول کوډ ته ګډوډي زیاتوي او یوه ورځ به ستاسو په سر کې راشي - ډیری احتمال په خورا نا مناسب وخت کې. تاسو باید خپل اراده راټول کړئ ترڅو خپل ځان دې ته اړ کړئ چې وخت تیر کړئ پدې پوه شئ چې ولې هرڅه کار کوي، مګر دا ارزښت لري.

د پوهاوي دریمه کچه: دا ولې کار کوي؟

زما وروستی بصیرت په سمه توګه د دې کچې سره تړاو لري، او شاید دا هغه څوک وي چې ما ته به ډیره ګټه راکړې که زه مخکې دې مفکورې ته رسیدلی وای.

د دې د روښانه کولو لپاره، راځئ چې یو مثال وګورو: ستاسو ماډل باید د فنکشن X سره مطابقت ولري. تاسو په ځانګړې توګه د X فنکشن سره بلد نه یاست، مګر تاسو ته ویل شوي وو چې د دې سره مطابقت کولو لپاره تاسو د F چوکاټ کارولو ته اړتیا لرئ. هغه ماډلونه چې د X سره مدغم کیږي دقیقا د هغه سره کار کوي.

ستاسو کوډ د خپل ژوند له لومړۍ ورځې راهیسې د F چوکاټ سره اړیکه نه ده نیولې، نو د دې پلي کول به دومره اسانه نه وي. دا به د ماډل ځینو برخو لپاره جدي پایلې ولري. په هرصورت، تاسو خپل ځان پرمختګ ته غورځوئ: تاسو اونۍ د کوډ لیکلو، ازموینې، د پیلوټ نسخو په جوړولو، فیډبیک ترلاسه کولو، د راجستر غلطیو حل کولو، د غیر متوقع پیچلتیاو موندلو، د اصلي توافق شوي مهال ویش نه پوره کول، یو څه نور کوډ لیکل، ازموینه، د فیډبیک اړیکو ترلاسه کول، د ریګریشن غلطیو سمول - دا ټول د F چوکاټ پلي کولو لپاره.

او په یو وخت کې تاسو ناڅاپه پوه شئ - یا شاید د یو چا څخه واورئ - چې شاید چوکاټ F به تاسو ته د ایکس ځانګړتیا سره مطابقت ونه کړي. شاید دا ټول وخت او هڅې په بشپړ ډول غلط شوي وي.

ورته یو څه پیښ شوي کله چې په یوه پروژه کې کار کاوه چې زه یې مسؤلیت وم. ولې داسې وشول؟ ځکه چې زه لږ پوهیدم چې X کوم فعالیت دی او دا څنګه د F چوکاټ سره تړاو لري. زه باید څه وکړم؟ له هغه کس څخه وغواړئ چې پرمختیایي دنده ګماري په روښانه ډول تشریح کړي چې څنګه د عمل مطلوب کورس مطلوب پایلې ته رسوي ، د دې پرځای چې د نورو ماډلونو لپاره ترسره شوي څه تکرار کړي یا د دوی کلمه د دې لپاره واخلي چې دا هغه څه دي چې X ورته اړتیا لري.

د دې پروژې تجربې ماته دا را زده کړه چې د پراختیا پروسې پیل کولو څخه ډډه وکړم تر هغه چې موږ روښانه پوهه نه لرو چې ولې موږ څخه د ځینې شیانو د ترسره کولو غوښتنه کیږي. په کلکه انکار وکړئ. کله چې تاسو یو دنده ترلاسه کوئ، لومړی انګیزه دا ده چې سمدلاسه یې ترسره کړئ ترڅو وخت ضایع نشي. مګر "پروژه منجمد کړئ تر هغه چې موږ ټولو توضیحاتو ته ورسیږو" پالیسي کولی شي د اندازې امرونو سره ضایع شوي وخت کم کړي.

حتی که دوی هڅه وکړي چې تاسو باندې فشار راوړي، تاسو مجبور کړئ چې کار پیل کړئ، که څه هم تاسو د دې دلیل نه پوهیږئ، مقاومت وکړئ. لومړی، معلومه کړئ چې ولې تاسو ته دا ډول دنده درکول کیږي، او پریکړه وکړئ چې ایا دا هدف ته سمه لار ده. ما باید دا ټول په سخته توګه زده کړل - زه امید لرم چې زما مثال به د هغه چا لپاره ژوند اسانه کړي چې دا لوستل کوي.

د پوهاوي څلورمه درجه:؟؟؟

په برنامه کې د زده کړې لپاره تل ډیر څه شتون لري ، او زه باور لرم چې ما یوازې د پوهاوي موضوع سطحه سکریچ کړې ده. تاسو د کوډ سره د کار کولو په کلونو کې د پوهې نورې کومې کچې موندلې؟ تاسو کومې پریکړې وکړې چې د کوډ او غوښتنلیک کیفیت باندې یې مثبت اغیزه درلوده؟ کومې پریکړې غلطې شوې او تاسو ته یې یو ارزښتناک درس در زده کړ؟ خپل تجربه په نظرونو کې شریک کړئ.

سرچینه: www.habr.com

Add a comment