بدون نظر ، تا به حال! نظرات در کد از گذشته است | توسط Rinat Ussenov | نوامبر ، 2020

 Rinat Ussenov
Joan Crawford در Mommie Dearest، 1981

نظرات در مورد کد مربوط به گذشته است

آیا هر بار که با روشی یا عملکردی روبرو می شویم ، کمی کوچک نمی شویم یا کلاسي که بالاي آن نظر طولاني و آزاد داشته باشد؟ خوب ، دلیل آن این است که بیشتر آن نظرات طولانی مدت عبارتند از: ) ؛

  • یک نسخه دقیق از کد زیر آن ، فقط با عبارت "طبیعی تر" (وقت گذران وقت) نوشته شده است ؛
  • ] با کد خود ارتباط برقرار کنید (نه نظرات) ، با بررسی کد ارتباط برقرار کنید ، منابع داخلی (فردی) را که برای نظر اختصاص داده اید سرمایه گذاری کنید تا خوانایی کد را بهبود بخشد. این سرمایه گذاری در آینده نتیجه خوبی خواهد داشت.

    https://stackoverflow.com/questions/184618/ بهترین-نظر-کد-منبع-کدام-هرگز-با-برخورد نکرده اید-(19659026]) نظرات خنده دار اما مرتبط نیز قابل قبول است. توسعه نرم افزار لازم نیست خشک و کسل کننده باشد. بالاخره همه ما انسان هستیم.

    اداره عملیات نباید وجود داشته باشد. عادت زنانه.

    توسعه و بهره برداری

    افکار در مورد DevOps.

     Rinat Ussenov

    فقط قطار از افکار من از سر من جاری بود ، شروع کرد (بله ، باعث شده) توسط این پست وبلاگ با عنوان "توسعه دهنده به یک کنفرانس DevOps ": https://www.darkcoding.net/software/a-developer-goes-to-a-devops-conference/ موفق19659005 نظراتAnd ، به عنوان یک فرد عقیده و منطقی ، افکار خود را برای آینده کنار خواهم گذاشت. تأملات ، مرجع احتمالی و بررسی خود در 5-5 سال پوند:

    اگر بخش عملیات خود را به عنوان DevOps ارجاع دهید زیرا همکاران شما در آن بخش اسکریپت های bash می نویسند و اتوماسیون انجام می دهند ، استدلال شما ناقص است ، شما محموله ای هستید در حال توسعه است ، و بخش DevOps شما هنوز هم گزینه های قدیمی منسوخ شده است.

    DevOps متشکل از دو بخش ، قبلاً کاملاً جداگانه است: توسعه و عملیات (زیرساخت). اگر یک تیم توسعه محصول مسئولیت کد تولیدی خود را بر عهده ندارد و کد ارائه شده را به تولید تحویل می دهد ، شما DevOps را انجام نمی دهید.

    برخی از توسعه دهندگان هیچ علاقه ای ندارند. در هر چیز مادون قرمز ، بعضی از آنها کنجکاوی هستند ، برخی در زمینه اتوماسیون عالی هستند ، برخی سخت افزار را بیش از کد دوست دارند. این طبیعی است. این تنوع است! این عالی است! حال تصور کنید که آیا به جای قفل کردن افراد با علائق متفاوت اما وابسته به همدیگر در بخش های مختلف در طبقات مختلف ، آنها را در یک تیم قدرتمند و متقاطع قرار می دهیم؟ تصور کنید که چه تیمی می تواند به عنوان یک واحد واحد نیرو تحقق یابد؟ این دقیقاً همان چیزی است که DevOps است.

    هدف اصلی (از DevOps) حذف این اختلافات بین همکاران شما با از بین بردن بخش عملیات همه با هم بود. DevOps لزوماً به معنای توسعه دهندگان در حال انجام عملیات نیست ، بلکه این به معنای کنشگرها و افراد در مورد کنجکاوی است. این مجموعه تقریباً همه جنبه های توسعه محصول ، پشتیبانی و تحویل محصول و همچنین زمان همکاری ، ارتباط و پاسخ را بهبود می بخشد.

    قصد اولیه به کنار ، متأسفانه احساس می کند که اجماعی وجود دارد که اکثریت شرکت های بزرگ (و کنفرانس ها) که DevOps را در توصیف در جایی قرار داده اند یا نمی دانند DevOps در واقع چیست (چه مشکلی را حل می کند و غیره) و سوء استفاده از این اصطلاح یا فقط دروغ گفتن است.

    اگر پیش شماره "Dev" را به بخش Ops خود بزنید.

    DevOps یک فرهنگ است ، یک تیم یا گروه نیست.

    مقابله با شرایطی که مسئولیت کد MY در تولید (و تحویل کد گفته شده به تولید) بر عهده تیم / گروه دیگری باشد که بسیار احتمالاً مشکل نیست ، بسیار دشوار است. حتی در همان طبقه / ساختمان که در آن قرار دارم.

    کد فقط کد است. به خودی خود هیچ چیز نیست. تولید جایی است که کد شما زنده می شود ، جایی که توسعه می یابد ، بالغ می شود ، با کاربران روبرو می شود. حذف تولید از یک توسعه دهنده و قفل کردن آن در یک بخش جداگانه "DevOps" فقط غیر انسانی است ، و یک فاجعه است و باید غیرقانونی باشد.

    دیدن کد کار خود در تولید ، تحویل کد شما به تولید ، بهینه سازی کد شما برای تولید زیرا شما می دانید و از تولید راحت هستید ، اینجا جایی است که رضایت شغلی و خوشبختی در آن قرار دارند.

    کد میراث کدام است؟ آیا این برای شما خوب هست؟ – یادداشت های مهندس

    کار با کد میراث. آیا برای شما خوب است؟

    بله تجربه با کد میراث باید باشد هر کس قادر به کار در محیط تازه ای است که در آن همه چیز جدید و براق است، اما کار با میراث یک کار بسیار دشوار است که ذهن های جدیدی را ایجاد می کند و مغز را دوباره می کند.

    100 درصد از توسعه دهندگان من به آن صحبت کرده ام، متنفرم! آنها نمی توانند کدهای میراثی را حفظ کنند و اگر علامت فاز تعمیر و نگهداری باشند، در جهت مخالف مانند آتش سوزی اجرا خواهند شد. انتظار می رود که قابل درک باشد. کار با کد میراث آسان نیست.

    همانطور که در بالا ذکر شد، میراث کد از شرکت به شرکت متفاوت است، و در مواردی که کد میراث پایه ای برای برنامه های آینده است، این امر به دانش و تجربه ویژه ای می انجامد تا بتواند از طریق کد فاسد حرکت کند و تغییرات دفاعی را با دقت جراحی انجام دهد. یک فرصت عالی برای شما برای استفاده از مهارت های refactoring خود، یادگیری شیوه های جدید و بهترین روش های نزدیک شدن به قطعات بسیار سخت و اغلب پیچیده از کد.

    نرم افزار ویرایش مجدد برنامه های مختلف متفاوت است از refactoring کلاس خود را که شما یک هفته پیش نوشت. این مورد است که در آن توجه شدید به جزئیات لفظی (توسط بسیاری از ستایش …) می تواند بینایی تونل ایجاد کند و در واقع آسیب برساند. این جایی است که شما یاد خواهید گرفت که چگونه بینش بزرگتر یک سیستم به طور کلی (با در نظر گرفتن نزدیکترین نقطه مقصد refactoring، نزدیکترین نقطه عطف) و جزئیات کوچک، تغییرات کوچک، تمرکز کنید. شما فقط می توانید بر روی یک بخش از سیستم تمرکز کنید که نیاز به یادگیری و شناختن تمامی API های داخلی و خارجی و مسیرهای ارتباطی را از داخل دارد. چرا؟ به خاطر شکنندگی. حتی یک تغییر کوچک در کد میراث، به ویژه کد که شما نا آشنا هستید، می تواند موجب واکنش های ناپیوستگی آبشارها شود.

    اما این یک مورد شدید با بسیار قدیمی است (آخرین نسخه اصلی 10+ سال پیش) و سیستم های ضعیف حفظ شده . اگر با یک برنامه تازه کار کار می کنید، هنوز برای یادگیری بسیار مهم است و از رضایت از آن لذت می برید. اگر به وضوح یک کد قدیمی را مشاهده کنید که توسط شما نوشته شده است، این یک نشانه واضح از پیشرفت شخصی و تکامل شماست، برای من کاملا رضایت بخش است. و هنگامی که با سیستم های بزرگتر کار می کنید، می توانید تصمیمات مهندسی کاملا پیچیده ای را که در آن زمان ساخته شده اند، تشخیص دهید و الگوهای آنها را ببینید و هماهنگی خود را با روند فعلی ترسیم کنید.

    مهمترین نرمافزار قدیمی، جایی است که بیشترین استفاده از دانش دامنه خود را از . نیاز به مهندسی معکوس گسترده (به علت شکنندگی که در بالا توضیح داده شد) به شما اطلاعات زیادی در مورد دامنه ای می دهد که این نرم افزار برای تصمیم گیری ها و تصمیمات بازاریابی، الزامات و حتی مقررات ساخته شده است.

    به همین ترتیب، فقط می خواهم این تجربه را با کد میراث برای هر توسعه دهنده ضروری است. هرگز فراموش نکنید که درس ها و فرصت های یادگیری در همه جا وجود دارد، فقط در لحن خود قرار دهید و چشم خود را باز نگه دارید و یاد بگیرید که آنها را تشخیص دهید.