# ساده زیباست

جمله‌ای از افلاطون وجود دارد با این مضمون که «هارمونی، زیبایی ظاهری، ظرافت و موزون بودن همه و همه به سادگی بستگی دارند.» و این جمله اگر توسط برنامه نویسان به کار گرفته شود، مزایای بسیار زیادی برای ایشان در بر خواهد داشت که از آن جمله می‌توان به خوانایی بیشتر کدها، نگهداری راحت‌تر اسکریپت ها، افزایش سرعت کدنویسی و در نهایت کیفیت بالاتر کدهای نوشته شده اشاره کرد و تمامی این موارد -و حتی موارد بیشتر- جز با به کارگیری این دیدگاه افلاطون یعنی همان سادگی امکان‌پذیر نیست.

حال می بایست به این سؤال پاسخ دهیم که به چه نوع کدی صفت زیبا اطلاق می گردد. این سؤال بسیار انتزاعی است چرا که مفهوم زیبایی چیزی کاملاً نسبی است. درکی که هنرمندان از زیبایی دارند به مراتب متفاوت تر از مهندسان یا برنامه نویسان است. لذا نیاز است تا مسئله ی زیبایی در برنامه نویسی را کمی بشکافیم!

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/fa/thing_05.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
