نکاتی برای نوشتن کدهایی بهتر و پاکیزه تر در برنامه نویسی

با خواندن بخش هایی از کد نوشته شده برای یک پروژه می توان در مورد خوب یا بد بودن آن قضاوت کرد. اگر این کد به سادگی قابل درک بوده و بتوان به راحتی آن را تغییر داد مسلما می توان گفت که این نرم افزار به خوبی نوشته شده است و توسعه دهندگان از کار کردن روی آن رضایت خواهند داشت.

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

آموزش برنامه نویسی صحیح

فرقی نمی کند که شما یک برنامه نویس تازه کار یا با تجربه باشید، شما باید همیشه تلاش کنید تا به یک برنامه نویس خوب تبدیل شوید. فراموش نکنید که این شما هستید که مسئولیت کیفیت کدهای خود را بر عهده دارید، بنابر این باید برنامه خود را به اندازه کافی خوب آماده کنید تا توسعه دهندگان دیگر هم بتوانند آن را درک کنند.

چه چیزی باعث می شود یک کد خوب و پاکیزه باشد؟

یک کد تمیز و قابل فهم مشخصاتی دارد که در ادامه به برخی از این شرایط اشاره می کنیم:

  • کد پاکیزه باید خوانا و موجز باشد. اگر شخص دیگری قرار باشد کد شما را بخواند باید این حس را داشته باشد که می تواند همه آن را به راحتی خوانده و درک کند.
  • کد پاکیزه باید موزون و چشم نواز باشد. کد شما باید مرتب و منظم باشد تا دیگران از دیدن آن لذت ببرند.
  • یک کد پاکیزه باید براحتی قابل درک، قابل تغییر و قابل نگهداری باشد.
  • کد پاکیزه باید بتواند تمام آزمون ها را پشت سر بگذارد.

چگونه کدهای خود را بهتر و پاکیزه تر بنویسیم؟

از اسامی با معنی استفاده کنید

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

اصل مسئولیت واحد (SRP)

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

  • تابع نوشته شده باید کوچک باشد
  • این تابع باید تنها یک کار را (به درستی) انجام دهد.

این دو نکته مشخص می کند که تابع شما باید قانون اصل مسئولیت واحد (SRP) را رعایت کرده و نباید ساختار تو در تو داشته باشد. پیروی از این تکنیک باعث می شود کد شما خواناتر بوده و سایر توسعه دهندگان بتوانند آن را به راحتی درک کرده و در بخش های دیگر از آن استفاده کنند. همچنین اطمینان حاصل کنید تابع شما بیشتر از سه آرگمان نداشته باشد. بیش از این تعداد آرگمان باعث می شود کد شما پیچیده و درک آن دشوارتر و دیباگ کردن آن سخت تر شود.

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

از نوشتن کامنت های غیرضروری اجتناب کنید

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

کدها را خوانا بنویسید

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

کد خود را با واحدهای آزمایشی بنويسید

نوشتن واحدهای آزمایشی در توسعه اهمیت زیادی دارد. این باعث می شود کد شما تمیز، انعطاف پذیر و قابل نگهداری باشد. همچنین ایجاد تغییرات در کد و کم کردن باگ ها راحتتر خواهد شد. یک فرآیند در توسعه نرم افزاری به نام توسعه آزمون محور یا Test Driven Development (TDD) وجود دارد که در آن الزامات به موارد آزمایشی مشخصی تبدیل شده و سپس نرم افزار برای قبولی در آزمون های جدید بهبود پیدا می کند. سه قانون برای TDD وجود دارد:

  • شما تا وقتیکه یک کد مراحل آزمون واحد خطا را پشت سر نگذاشته اجازه تبدیل آن به یک محصول نهایی را ندارید.
  • شما مجاز به نوشتن چیزی بیشتر از یک واحد آزمایشی برای تصحیح خطا نیستید.
  • تا زمانیکه یک کد مراحل آزمايش خود را پشت سر نگذاشته است اجازه نوشتن کدهای تولیدی بیشتر را ندارید.

مراقب وابستگی ها باشید

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

پروژه خود را به خوبی سازماندهی کنید

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

آموزشگاه کامپیوتر پایا

whatsapp