نقل قولی از افلاطون است که من فکر میکنم خصوصا برای توسعه دهندگان مناسب است و باید آن را در نزدیک قلبشان نگه دارند:
«زیبایی متن و هماهنگی و ظرافت و جذابیت و موزونی بسته به سادگی است.»
این گفته همه آن چیزی که ما به عنوان توسعه دهنده نرمافزار در آرزوی آن هستیم را در یک جمله بیان میکند.
چیزهایی هستند که ما تلاش میکنیم در کد خود داشته باشیم:
- خوانا بودن
- قابل نگهداری بودن
- سرعت در توسعه
- زیبایی کیفی
افلاطون به ما میگوید عاملی که ما را در رسیدن به این سطح از کیفیت توانا میکند سادگی است.
کد زیبا چیست؟ این پرسشی است که بالقوه پاسخهای زیادی دارد. درک زیایی بسیار وابسته به گذشته افراد است، دقیقا همانطور که درک ما از خیلی چیزها به گذشته ما بستگی دارد. آدمهایی که مطالعات هنری دارند با آدمهایی دارند که در علوم مطالعه میکنند، درک متفاوت (یا حداقل شیوه متفاوتی در درک) زیبایی دارند. استادان هنر تمایل دارند زیبایی نرمافزار را با زیبایی آثار هنری مقایسه کنند در حالی که استادان علوم دوست دارند درباره تقارن و نسبت طلایی صحبت کنند و تلاش میکنند هر چیزی را به یک فرمول تنزل بدهند. طبق تجربه من اساس همه بحثها درباره زیبایی از سوی دو طرف سادگی است.
به سورس کدهایی که خواندهای فکر کن. اگر تا به حال برای خواندن کد دیگران وقت نگذاشتهای، خواندن این مطلب را متوقف کن و بگرد به دنبال یک سورس کد باز برای مطالعه. کاملا جدی میگویم. برو و در وب و یک سورس کد به زبان مورد نظر خودت که یک حرفهای شناخته شده و مورد احترام نوشته شده است را جستجو کن.
برگشتی؟ بسیار عالی! کجا بودیم؟ آهان… من فهمیدهام که کدهایی که با من همسازند و آنها را زیبا میدانم چند ویژگی مشترک دارند. اصلیترین ویژگی مشترک آنها سادگی است. من فهمیدهام که فارغ از این که کل برنامه یا سیستم چقدر پیچیده است، بخشهای مجزای کد باید ساده باشند: اشیایی ساده با یک مسئولیت، شامل متدهای ساده و متمرکز و نامهای گویا. بعضی فکر میکنند که کوتاه نگه داشتن متدها در حد ۵ تا ۱۰ خط خیلی افراطی است و در بعضی از زبانهای برنامهنویسی این کار خیلی سخت است. اما من معتقدم که این اختصار، یک هدف مطلوب است.
نکته آخر این که کد زیبا کد ساده است. هر بخش مجزای کد ساده است و مسئولیتی ساده دارد و رابطه آن با سایر بخشهای سیستم ساده است. با این کار است که میتوانیم در طول زمان از سیستم نگهداری کنیم. با کد تمیز، ساده و تست شدنی که سرعت توسعه بالا را در طول دوران زندگی سیستم تضمین میکند.
زیبایی زاده سادگی است و در سادگی یافت میشود.
Jørn Ølmheim
پیشاپیش عیدتون مبارک
عالی بود