7 نکته برای نوشتن کدهای بهتر و پاکیزهتر در برنامه نویسی رو به اشتراک گذاشتیم که برای افرادی که به فکر بهتر شدن کارشون هستن قطعا کمک می کنه. مهندسی نرم افزار تنها به یادگیری یک زبان برنامه نویسی و ساخت چند نرم افزار محدود نمیشود. از شما به عنوان یک مهندس یا توسعه دهنده نرم افزار انتظار میرود تا نرم افزار را خوب بنويسید. حال سوال اینجا است که چه چیزی باعث میشود یک نرم افزار خوب به نظر برسد؟
با خواندن بخشهایی از کد نوشته شده برای یک پروژه میتوان در مورد خوب یا بد بودن آن قضاوت کرد. اگر این کد به سادگی قابل درک بوده و بتوان به راحتی آن را تغییر داد مسلما میتوان گفت که این نرم افزار به خوبی نوشته شده است و توسعه دهندگان از کار کردن روی آن رضایت خواهند داشت.
نوشتن کدهای بهتر و پاکیزهتر در برنامه نویسی
آنچه مسلم است این است که هیچکس دوست ندارد پروژهای را که کد نویسی در آن درهم ریخته و بدون نظم و ترتیب انجام گرفته ادامه دهد. گاهی اوقات توسعه دهندگان به دلیل کمبود وقت و لزوم تحویل سریع کار از پاکیزه نوشتن کدها اجتناب میکنند. آنها عجله میکنند تا سریعتر پیش بروند اما در نهایت آنچه رخ میدهد کند شدن کار است. عجله کردن در کد نویسی باگهای بیشتری به همراه خواهد داشت و آنها مجبورند برای برطرف کردن این باگها دوباره به بخشهایی از کد نوشته شده رجوع کنند و این فرآيند ممکن است چندین بار تکرار شود. این فرآيند بسیار بیشتر از مدت زمان صرف شده برای نوشتن خود برنامه زمان میبرد.
فرقی نمیکند که شما یک برنامه نویس تازه کار یا با تجربه باشید، شما باید همیشه تلاش کنید تا به یک برنامه نویس خوب تبدیل شوید. فراموش نکنید که این شما هستید که مسئولیت کیفیت کدهای خود را برعهده دارید، بنابراین باید برنامه خود را به اندازه کافی خوب آماده کنید تا توسعه دهندگان دیگر هم بتوانند آن را درک کنند.
چه چیزی باعث می شود کدنویسی تمیز باشد؟
یک کد تمیز و قابل فهم مشخصاتی دارد که در ادامه به برخی از این شرایط اشاره میکنیم:
1. کد پاکیزه باید خوانا و موجز باشد. اگر شخص دیگری قرار باشد کد شما را بخواند باید این حس را داشته باشد که میتواند همه آن را به راحتی خوانده و درک کند.
2. کد پاکیزه باید موزون و چشم نواز باشد. کد شما باید مرتب و منظم باشد تا دیگران از دیدن آن لذت ببرند.
3. یک کد پاکیزه باید به راحتی قابل درک، قابل تغییر و قابل نگهداری باشد.
4. کد پاکیزه باید بتواند تمام آزمونها را پشت سر بگذارد.
7 نکته برای نوشتن کدهای بهتر و پاکیزهتر در برنامه نویسی
1. در کدنویسی از اسامی بامعنی استفاده کنید
شما از نامهای بسیار زیادی برای متغیرها ، توابع ، کلاسها ، آرگومانها ، ماژولها ، بستهها ، دایرکتوریها و چیزهایی شبیه به این استفاده خواهید کرد. عادت کنید که در کدهای خود از اسامی بامعنی و قابل درک استفاده کنید. اسمی که شما در کد خود به کار میبرید باید تا حد امکان به سه پرسش چه کاری انجام میدهد؟ چرا وجود دارد؟ و چگونه از آن استفاده میشود؟ پاسخ دهد. برای مثال در کد زیر شما مجبورید برای نام متغیری که ایجاد کرده اید با استفاده از یک کامنت توضیحات وارد کنید که به هیچ عنوان مشخصه یک کد خوب را رعایت نمیکند.
int b; // number of users.
نامی که در کد خود تعریف میکنید باید اهداف آن را آشکار کند. بنابراین برای مثال بالا بهتر است نام متغیر چیزی شبیه به int number_of_users باشد. همچنین سعی کنید اسامی را به سه یا چهار کلمه خلاصه کنید.
2. اصل مسئولیت واحد (SRP) در کدنویسی
استفاده از توابع، کلاسها و متدها روش خوبی برای سازماندهی کدها در یک زبان برنامه نویسی است، بنابراین وقتی شما در حال نوشتن یک کد هستید باید مراقب باشید تا تابعی که مینویسید تنها قصد و هدف مشخص شما را تامین کند. اغلب تازه کارها این اشتباه را مرتکب شده و تابعی مینویسند که بتواند چند وظیفه مختلف را انجام دهد. این کار باعث سردرگمی سایر توسعه دهندگان شده و باعث ایجاد مشکلاتی در زمان برطرف کردن باگها میشود. بنابراین زمان نوشتن یک تابع باید دو نکته را مد نظر داشته باشید تا تابع شما تمیز و به راحتی قابل درک باشد:
علاوه بر این باید مراقب نامی که برای تابع خود انتخاب میکنید هم باشید تا به خوبی بیانگر وظیفهای که انجام میدهد باشد. به عنوان مثال، نام تابع زیر به درستی هدف آن که تفریق دو عدد است را نشان میدهد.
function subtract(x, y) {
return x – y;
}
همچنین این تابع تنها از دو آرگمان استفاده کرده است.
3. از نوشتن کامنتهای غیرضروری در کدنویسی اجتناب کنید
این یک کار رایج است که توسعه دهندگان برای مشخص کردن هدف یک خط در کد خود از کامنت استفاده میکنند. واضح است که کامنتها به توصیف کد کمک میکنند اما از طرفی به نگهداری بیشتری در کد شما نیاز دارند. در زمان توسعه کدها به جاهای مختلفی جابجا میشوند اما اگر کامنتها در همان جای اول رها شده باقی بمانند مشکلات بزرگی را به وجود خواهند آورد. این امر میتواند باعث ایجاد سردرگمی در بین توسعه دهندگان شود.
امروزه ساختار فرامین زبانهای برنامه نویسی مدرن بسیار شبیه به زبان انگلیسی است و میتواند به خوبی بیانگر وظیفهای که یک خط کد انجام میدهد باشد و دیگر کمتر نیاز به استفاده از کامنتها خواهد بود.
4. در برنامه نویسی کدها را خوانا بنویسید
خیلی از افراد به ویژه مبتدیان هنگام نوشتن کد به اشتباه همه چیز را در یک خط مینویسند و از فاصله گذاری، تو رفتگی و خط جدید در کد خود استفاده نمیکنند. این کار باعث شلختگی در کد شده و نگهداری از آن را دشوار میکند. خواندن و درک یک کد درهم ریخته و شلوغ زمان زیادی از وقت سایر توسعه دهندگانی که روی یک پروژه کار میکنند را تلف خواهد کرد، بنابراین همیشه به قالب بندی کد خود توجه کنید.
اطمینان حاصل کنید که کد شما به اندازه لازم و کافی از فاصله گذاری، تو رفتگی و خط جدید برخوردار باشد. یک توسعه دهنده نرم افزار همیشه به خاطر سبک برنامه نویسی که در کد خود دنبال میکند شناخته میشود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
// Bad Code class CarouselRightArrow extends Component{render(){return ( <a href="#" className="carousel__arrow carousel__arrow--left" onClick={this.props.onClick}> <span className="fa fa-2x fa-angle-left"/> </a> );}}; // Good Code class CarouselRightArrow extends Component { render() { return ( <a href="#" className="carousel__arrow carousel__arrow--left" onClick={this.props.onClick} > <span className="fa fa-2x fa-angle-left" /> </a> ); } }; |
5. کد خود را با واحدهای آزمایشی بنويسید
نوشتن واحدهای آزمایشی در توسعه اهمیت زیادی دارد. این باعث میشود کد شما تمیز، انعطاف پذیر و قابل نگهداری باشد. همچنین ایجاد تغییرات در کد و کم کردن باگها راحتتر خواهد شد. یک فرآیند در توسعه نرم افزاری به نام توسعه آزمون محور یا Test Driven Development (TDD) وجود دارد که در آن الزامات به موارد آزمایشی مشخصی تبدیل شده و سپس نرم افزار برای قبولی در آزمونهای جدید بهبود پیدا میکند.
سه قانون برای TDD وجود دارد :
1. شما تا مادامی که یک کد مراحل آزمون واحد خطا را پشت سر نگذاشته اجازه تبدیل آن به یک محصول نهایی را ندارید.
2. شما مجاز به نوشتن چیزی بیشتر از یک واحد آزمایشی برای تصحیح خطا نیستید.
3. تا زمانی که یک کد مراحل آزمايش خود را پشت سر نگذاشته است اجازه نوشتن کدهای تولیدی بیشتر را ندارید.
حتما بخوانید : پکیج طلایی برنامه نویسی- 13 پکیج برنامه نویسی موبایل، ویندوز و وب در 1 بسته
6. مراقب وابستگیها در توسعه نرم افزار باشید
در توسعه نرم افزار شما واقعا باید مراقب وابستگیهای موجود در آن باشید. تا حد ممکن وابستگیهای شما باید همیشه یک جهته باشد. فرض کنید یک کلاس آشپزخانه داریم که به یک کلاس ماشین ظرفشویی وابسته است. تا زمانی که این کلاس ماشین ظرفشویی به کلاس آشپزخانه وابسته نباشد این یک وابستگی یک جهته محسوب میشود. کلاس آشپزخانه فقط از ماشین ظرفشویی استفاده میکند اما ماشین ظرفشویی اهمیتی ندارد و هرکسی می تواند از آن استفاده کند. مدیریت این مثال از وابستگی یک طرفه راحتتر است اما غیر ممکن است که همیشه یک وابستگی یک طرفه داشته باشیم. بنابراین باید سعی کنیم تا جای ممکن از این روش استفاده کنیم. وقتی وابستگیها چند طرفه میشود انجام کارها پیچیدهتر خواهد شد. بنابراین همیشه مراقب مدیریت وابستگیها باشید.
7. سازماندهی پروژه
این یک مشکل بسیار شایع در توسعه نرم افزاری است که ما تعداد زیادی فایل یا فولدر را در پروژه خود اضافه و حذف می کنیم و گاهی اوقات درک و کار روی چنین پروژههایی برای سایر توسعه دهندگان پیچیده و آزار دهنده میشود. قابل درک است که وقتی یک پروژه گسترش پیدا میکند سازماندهی یک باره فایلها و فولدرها کار چندان راحتی نیست اما توجه به آن اهمیت بسیار زیادی دارد. ساماندهی درست فایلها و فولدرها همه چیز را روشن میکند و باعث میشود جستجوی یک فایل خاص و ایجاد تغییر در آن آسانتر شود. بنابراین اطمینان حاصل کنید که ساختار فولدرهای شما باید به شکلی سازمان یافته تنظیم شده باشد (همین مورد برای کدهای شما نیز صدق میکند).
منبع
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۳ شهریور ۱۳۹۹
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- رپورتاژ
- فروشگاه
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- Go
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس