سلام به همه، انجمن JavaRush! امروز در مورد کیفیت کد صحبت خواهیم کرد. بله بله دوستان عزیز هیچکس کامل نیست همه روزی به این درک می رسند که کد می تواند بهتر باشد... اما در این شرایط چه باید کرد؟ حداقل شروع به تحقیق در مورد این موضوع کنید. از آنجایی که شما اینجا هستید، به این معنی است که موضوع برای شما جالب است، پس بیایید برویم. امروز روش هایی را شرح خواهیم داد که از طریق آنها می توانید کد خود را بهتر و تمیزتر کنید. تا در آینده از کد فعلی خود خجالت نکشید!..)) همه این روش ها به برنامه نویس کمک می کند تا برنامه نویس خوبی شود.
Habré JavaRush :D، از جمله مقاله من را بخوانید. وبلاگ های خوب را دنبال کنید و در مورد پست ها نظر دهید، نظر خود را به اشتراک بگذارید.
1. اگر می خواهید کد خود را بهبود ببخشید، کد شخص دیگری را بخوانید
اگر می خواهید مهارت های برنامه نویسی خود را به طور چشمگیری بهبود بخشید، باید کدهای نوشته شده توسط برنامه نویسان دیگر را بخوانید. شما می توانید آن را باور کنید، نمی توانید آن را باور کنید. اما اگر ریسک کنید، به شما قول میدهم برای وقتتان پاداشی در نظر بگیرید. به عنوان مثال، در Habré نخوانید که HashMap، ArrayList، LinkedList و غیره چگونه کار می کنند، بلکه کد آنها را بخوانید و خودتان متوجه شوید. در اینجا لیستی از کلاس ها برای خواندن آمده است:-
HashMap متداول ترین سوال در مصاحبه ها است. شما می توانید چندین پرنده را با یک سنگ بکشید: رمز را درک کنید و دانش لازم را به دست آورید.
-
ArrayList همان حالت HashMap است. هیچ چیز پیچیده ای وجود ندارد، اما واقعا ارزش خواندن و درک را دارد.
-
رشته یک مثال عالی است. درک کنید که چرا تغییر ناپذیر است.
-
AtomicInteger یک کلاس جالب است: فرآیند نحوه انجام عملیات اتمی روی اشیاء عدد صحیح را شرح می دهد.
-
و سپس - حداقل تمام کلاس ها در یک ردیف ...)
2. از قراردادهای کد پیروی کنید - قراردادهای نوشتن کد
کنوانسیونهای کدگذاری مجموعهای از دستورالعملهای توسعهیافته توسط تیمهای توسعه هستند که شامل دستورالعملهایی برای سبک برنامهنویسی و تکنیکها برای هر جنبه از کد نوشته شده در یک شرکت یا یک پروژه خاص است. این قراردادها معمولاً مختص هر زبان برنامه نویسی هستند و سازماندهی فایل، تورفتگی، نظرات، اعلان ها، عملگرها، فضای خالی، قراردادهای نامگذاری، تکنیک ها و اصول برنامه نویسی، قوانین برنامه نویسی، بهترین شیوه های معماری و غیره را پوشش می دهند. مزیت اصلی استانداردهای خاص این است که کد یکسان به نظر می رسد و به همان سبک نوشته شده است. این باعث خوانایی بیشتر آن می شود و به برنامه نویسان کمک می کند تا کدهای نوشته شده توسط برنامه نویس دیگر را درک کنند. اگر استانداردهای کدنویسی دنبال شوند و به طور مداوم در طول فرآیند توسعه اعمال شوند، حفظ و گسترش کد، اصلاح آن و حل تضادهای یکپارچه سازی در آینده آسان تر خواهد بود. قراردادهای کدنویسی به چند دلیل برای برنامه نویسان مهم هستند:- 40%-80% هزینه نرم افزار صرف نگهداری آن می شود.
- به ندرت هیچ نرم افزاری توسط نویسنده در طول زندگی خود نگهداری می شود.
- قراردادهای کد خوانایی نرم افزار را بهبود می بخشد و به برنامه نویسان اجازه می دهد کدهای جدید را سریعتر درک کنند.
3. از مرور کد - بررسی کد توسط دیگران استفاده کنید
بررسی کد یکی از قدرتمندترین ابزارها برای بهبود کد است. چرا؟ زیرا این کد توسط متخصصانی که آن را ننوشته اند بررسی می کنند. و ظاهر تازه بسیار مفید است. و اغلب این Code Review است که به جلوگیری از نوشتن کدهای وحشتناک کمک می کند. من می دانم که این همیشه ممکن نیست زیرا شما باید شخص دیگری را پیدا کنید که بخواهد این کار را انجام دهد. اما این بدان معنا نیست که این ابزار ارزش استفاده ندارد. کاملا برعکس: این دلیلی برای یافتن افراد همفکری است که برای آنها بهبود کیفیت کد نیز مهم است. راستی، چه کسی شما را از یافتن آنها در جاوا راش منع کرده است؟ در جایی که همه می خواهند برنامه نویس شوند.4. نوشتن تست های واحد - تست های واحد
روش مورد علاقه من برای بهبود کد نوشتن تست های واحد است. علاوه بر این، هر چه بیشتر آنها را بنویسید، بهتر است. در برنامه نویسی کامپیوتر، تست واحد یک فرآیند توسعه نرم افزار است که در آن کوچکترین بخش قابل آزمایش کد منبع، به نام واحد، به صورت جداگانه و مستقل آزمایش می شود تا بررسی شود که آیا مطابق انتظار کار می کند یا خیر. این به شما کمک می کند تا قبل از انتشار کد، خرابی های الگوریتم ها و/یا منطق را شناسایی کنید. از آنجایی که تست واحد به ساختار مناسب کد شما نیاز دارد، به این معنی است که کد باید به توابع کوچکتر و متمرکزتر تقسیم شود. که هر کدام مسئول یک عملیات واحد بر روی مجموعه ای از داده ها هستند نه توابع بزرگ که تعدادی عملیات مختلف را انجام می دهند . این است که می توانید از خرابی های بعدی در تغییرات کوچک در عملکرد شکست کد موجود جلوگیری کنید. هنگامی که خرابی رخ می دهد، تست های واحد به شما می گویند که چیزی اشتباه نوشته شده است. در نگاه اول، صرف زمان برای نوشتن تست های واحد در طول توسعه هزینه اضافی به نظر می رسد. با این حال، این باعث صرفه جویی در زمان در آینده می شود که باید صرف رفع اشکال شود. این باید یک فرآیند گام به گام باشد. بنابراین، ادامه دهید و برای همه متدها و کلاس ها تست بنویسید: D5. از ابزارهایی برای بهبود کیفیت کد استفاده کنید
هیچ توسعه دهنده ای وجود ندارد که هرگز اشتباه نکند. معمولاً کامپایلر مشکلات نحوی و حسابی را میگیرد و یک stack trace را خروجی میدهد. اما ممکن است هنوز مشکلاتی وجود داشته باشد که کامپایلر آنها را نگیرد. به عنوان مثال، الزامات اجرا شده نادرست، الگوریتم های نادرست، ساختار کد نادرست، یا برخی از مشکلات احتمالی شناخته شده برای جامعه از تجربه. تنها راه برای یافتن چنین خطاهایی این است که از یک توسعه دهنده ارشد بخواهید کد شما را بررسی کند. این رویکرد نوشدارویی نیست و کمی تغییر می کند. با هر توسعه دهنده جدید در تیم، باید یک جفت چشم اضافی داشته باشید که به کد او نگاه می کند. اما خوشبختانه ابزارهای زیادی وجود دارند که می توانند به شما در کنترل کیفیت کدتان کمک کنند. من در پروژه های مختلف از Checkstyle، PMD، FindBugs، SonarQube استفاده کردم. دیگران هم هستند. همه آنها معمولاً برای تجزیه و تحلیل کیفیت و ایجاد برخی گزارش های مفید استفاده می شوند. اغلب این گزارش ها توسط سرورهای یکپارچه سازی مداوم مانند جنکینز منتشر می شوند.6. کد ساده و واضح بنویسید
همیشه کدهای ساده، واضح و منطقی بنویسید. مردم تمایل به نوشتن کدهای پیچیده دارند تا توانایی خود را در انجام آن ثابت کنند. کد ساده اما منطقی همیشه خوب کار می کند، مشکلات کمتری را به همراه دارد و توسعه پذیرتر است. کد خوب به معنای مستندسازی بهتر است. اگر به اضافه کردن نظر فکر می کنید، از خود بپرسید: « چگونه می توانم کد را بهبود بخشم تا این نظر مورد نیاز نباشد؟ "~ استیو مک کانل.7. اسناد را بخوانید
یکی از عادات مهم برنامه نویسان خوب خواندن اسناد زیاد است. بگذارید مشخصات، JSR، اسناد API، آموزشها، و غیره باشد. خواندن اسناد به شما کمک میکند آن پایه قوی را بسازید که بهترین برنامهریزی را بر اساس آن انجام میدهید. نکته آخر اینکه خود را با دیگران مقایسه نکنید، مقایسه خود با دیگران تنها منجر به احساسات منفی و رقابت ناسالم می شود. هرکسی نقاط قوت و ضعف خود را دارد. بنابراین شناخت آنها و همکاری با آنها بسیار مهم است. خودتان را تجزیه و تحلیل کنید، نقاط قوت خود را فهرست کنید و روی آنها کار کنید. برنامه نویسی واقعا سرگرم کننده است: از آن لذت ببرید."ثابت یک نفر، متغیر مرد دیگر است."
8. وبلاگ نویسان جالب را دنبال کنید
هزاران نفر از علاقه مندان در سراسر جهان هستند که روی همین فناوری ها کار می کنند و در مورد آنها می نویسند. وبلاگ ها اغلب توسط خود برنامه نویسان نوشته می شوند و اکثر آنها نظرات و تجربیات شخصی خود را به اشتراک می گذارند. شما می توانید دیدگاه های مختلفی از یک فناوری را در وبلاگ ها مشاهده کنید. شما می توانید تکنولوژی خوب و بد را در وبلاگ ها ببینید. حداقل، مقالات9. کتاب های تخصصی بخوانید
هیچ چیز نمی تواند جای یک کتاب خوب را بگیرد. یک کتاب خوب مفاهیم اساسی را به روشی بسیار ساده تر آموزش می دهد و برای اشیاء دنیای واقعی کاربرد دارد. نویسندگان آنها خود برنامه نویسان بزرگی هستند. با خواندن کتاب می توانید از تجربیات دیگران درس بگیرید. پیشنهاد می کنم «جاوا. برنامه نویسی موثر توسط جاشوا بلوخ. این کتاب هفتاد و هشت قانون سرانگشتی غیر قابل تعویض برنامه نویس را ارائه می دهد: کار کردن، بهترین راه حل ها برای مشکلات برنامه نویسی که هر روز با آن روبرو می شوید. این شامل کاربردیترین و معتبرترین دستورالعملهایی است که میتوانید برای نوشتن برنامههای مؤثر و با طراحی خوب استفاده کنید. اگر به تازگی با جاوا شروع کرده اید و تجربه برنامه نویسی ندارید، ممکن است بخواهید Sams Teach Yourself Java 2 را در 24 ساعت بخوانید. و برای نوشتن کد تمیز، یک کتاب عالی "Clean Code اثر رابرت مارتین" وجود دارد. پس از آن، "احساس زیبایی" در رابطه با کد ظاهر می شود.10. کد! کد! کد!
فقط با حفظ کردن یک کتاب نمی توانید برنامه نویس خوبی شوید. صحبت در مورد مفاهیم نظری آسان است. اما زمانی که کد می نویسید می توانید محدودیت های زبان را یاد بگیرید یا بهترین روش ها را توسعه دهید. بنابراین، برای تبدیل شدن به یک برنامه نویس خوب، باید کدهای زیادی بنویسید. اگر مبتدی هستید، با نوشتن برنامه هایی برای مسائل ساده مانند سری فیبوناچی، پالیندروم، مثلث پاسکال و غیره شروع کنید و سپس به سراغ مشکلات بزرگتری مانند درخت جستجوی باینری و غیره بروید. اگر به دنبال پلتفرم آنلاین برای تمرین برنامه های جاوا هستید، نگاهی به زمینه کدگذاری بیندازید . علاوه بر این، می توانید دوره CS50 را که ترجمه آن توسط "می دانید کی" در اختیار ما قرار داده شده است، بگذرانید:Dبیایید آن را جمع بندی کنیم
کسی که هیچ کاری نمی کند اشتباه نمی کند. بنابراین، ما باید صبور باشیم و مانند یک ژاپنی سخت کوش، مهارت های کدنویسی خود را تقویت کنیم. برای این، فراموش نکنید:- خواندن کد شخص دیگری؛
- انجام و درخواست یک کد Reivew.
- نوشتن تست های واحد؛
- استفاده از ابزار برای بهبود کد؛
- کد ساده و قابل فهم بنویسید.
- اسناد کسانی که توانستند را بخوانید.
- برنامه نویسان جالب را دنبال کنید.
- خواندن کتاب های تخصصی؛
- کد! کد! کد!
- در GitHub در رومن مشترک شوید .
لینک های مفید
- 10 راه برای بهبود مهارت های برنامه نویسی
- یکی از راه های آسان برای بهبود مهارت های برنامه نویسی، خواندن کد دیگران است
- 11 بهترین روش و ابزار برای بهبود کیفیت کد جاوا
- چگونه مهارت برنامه نویسی جاوا را تقویت کنیم
- 10 نکته برای تبدیل شدن به یک توسعه دهنده بهتر جاوا
بیشتر از مقالات من
- اشکال زدایی در Intellij IDEA: راهنمای مبتدیان
- راهنمای ایجاد یک کلاینت برای Skyscanner API و انتشار آن در jCenter و Maven Central [بخش اول]
- ایجاد یک سیستم نظارت بر قیمت بلیط هواپیما: راهنمای گام به گام [بخش اول]
- ورود به سیستم: چه، چگونه، کجا و با چه چیزی؟ چگونه یک آزمون مصاحبه به یک کتابخانه منبع باز تبدیل شد
- تاریخچه موفقیت. 20 ساعت برنامه نویسی در هفته، فوق لیسانس و زندگی شخصی
- چگونه کار پیدا کنیم؟ نکاتی برای ارسال رزومه
GO TO FULL VERSION