هر کدام از ما برنامه نویس ها، داستان های متفاوتی برای رسیدن به جایی که هستیم داریم. و هر کدام از ما بسته به نوعه پروژه هایی که داشته ایم، تجربه های با ارزش و مهمی در دست داریم. 🙂
اما باید بدانیم که برنامه نویسی صرفا تبدیل یک سری از منطق ها به کدهای قابل فهم برای کامپایلر نیست. به زبانه ساده کد نویسی به معنی حله مسئله نیست، بلکه به معنی طراحی و مهندسی یک پاسخ خوب و انعطاف پذیر است. مهندسی نرم افزار در سالهای گذشته آنقدر رشد کرده که به یک دانش کامل و بسیار گسترده تبدیل شده و حرفه ای شدن در آن نیاز به کار و تجربه دو چندان دارد.
صرف نظر از اینکه در چه زبانی و روی چه پلتفرمی کد نویسی انجام میدهیم، برای تبدیل شدن به یک برنامه نویس حرفه ای و یک مهندس نرم افزارِ واقعی، نیاز داریم که با سه استاندارد و شیوه کاره مهم در جهان کد نویسی امروزی آشنا شویم.
این کتاب که نوشته Robert Martin است یک استاندارد کامل درباره اینکه کد تمیز باید چگونه باشد ارائه میکند. اگر بخواهیم فقط در 4 مورد توضیح دهیم که کد تمیز چیست میتوان اینگونه گفت:
البته این 4 مورد به ترتیب اولویت هستند. اینکه چگونه میتوان این موارد را عملی کرد نیاز به 10 ها سال تجربه دارد اما افراد دیگری قبلا این تجربیات را داشته اند. بنابراین با خواندن این کتاب این سالهای مهم را برای تجربه کردن پشت سر بگذارید.
مطمعناً تاکنون با شی گرایی که یکی از روش های جذاب کد نویسی است، آشنا شده اید. اما نکته اینجاست که طراحی شی گرا، امروزه اصول خاصی پیدا کرده است. رابرت مارتین ملقب به “عمو باب” اولین بار این اصول را با عنوان SOLID گردآوری کرد. البته کتاب های عمو باب بسیار زبان زد است که میتوانید در ویکی پدیا مشاهده کنید.
هر کدام از حروف کلمه SOLID بیانگر یکی از اصول پنج گانه طراحی شی گراست. نوعه خاصی از طراحی شی گرا که به ما کمک میکند بدون ایجاد پیچیدگی و دردسر، کدهای تمیز و صریحی بنویسیم.
طراحی SOLID یکی از موارد مهم در مدل توسعه نرم افزار چابک است. در مقاله زیر شما به زیبایی با این اصول فوق العاده آشنا میشوید:
S.O.L.I.D: The First 5 Principles of Object Oriented Design
مسائل بسیاری هستند که در هر پروژه نرم افزاری تکرار میشوند. همین تکرار مسائل هست که باعث میشود فریم ورک ها شکل بگیرند. به عنوان مثال در زبان php فریم ورک هایی مثل Laravel یا Yii وجود دارند که برای بسیاری از مسائل، راه حل هایی آماده کرده اند و برای نوشتن کدهای شما قوانین دقیقی وضع میکنند.
اما حل تک تک مسائل کوچک هم راه هایی دارد. به هر کدام از راه حل هایی که در اثر تکرار زیاد تبدیل به یک استاندارد در میان برنامه نویسان میشود، یک دیزاین پترن میگویند. دیزاین پترن ها در سه دسته اصلی Creational ، Structural و Behavioral تقسیم بندی شده اند.
در حال حاظر حدود 35 دیزاین پترن مهم در نرم افزار ها وجود دارد که میتوانید از طریق لینک زیر با آنها به طور کامل آشنا شوید:
با یادگیری و تمرین این سه موضوع ساده، میتوانیم خود را ارتقا دهیم و در سطحه متفاوتی قرار بگیریم. برای مثال کدهایی که در پروژه های بزرگ github مشاهده میکنیم را درک کرده و در توسعه آنها شریک شویم.