# فهرست چیزها!

* [مقدمه](/97-things-every-programmer-should-know/fa.md)

1. [بدهی فنی](/97-things-every-programmer-should-know/fa/thing_01.md)
2. [به کار گیری اصولی توابع برنامه نویسی](/97-things-every-programmer-should-know/fa/thing_02.md)
3. [نیاز کاربر چیست؟](/97-things-every-programmer-should-know/fa/thing_03.md)
4. [استاندارهای کدنویسی](/97-things-every-programmer-should-know/fa/thing_04.md)
5. [زیبایی در سادگی است](/97-things-every-programmer-should-know/fa/thing_05.md)
6. [قبل از انجام ریفکتورینگ دقت کنید](/97-things-every-programmer-should-know/fa/thing_06.md)
7. [در دستکاری کدها و منابع مشترک بین پروژه ها محتاط باشید.(نظافت را رعایت کنید!)](/97-things-every-programmer-should-know/fa/thing_07.md)
8. [پیش از آن که دیگران را متهم کنید، کد خود را چک کنید!](/97-things-every-programmer-should-know/fa/thing_08.md)
9. [انتخاب ابزار مناسب](/97-things-every-programmer-should-know/fa/thing_09.md)
10. [برنامه های خود را به زبان مشتریان بنویسید!](/97-things-every-programmer-should-know/fa/thing_10.md)
11. [طرح‌های خود را بی‌نقص کنید](/97-things-every-programmer-should-know/fa/thing_11.md)
12. [به چیدمان کدها توجه کنید!](/97-things-every-programmer-should-know/fa/thing_12.md)
13. [نقد و بررسی کدها](/97-things-every-programmer-should-know/fa/thing_13.md)
14. [کامنت‌گذاری را فراموش نکنید](/97-things-every-programmer-should-know/fa/thing_14.md)
15. [تنها توضیحاتی را بنویسید که کدهایتان قادر به شرح آنها نباشند!](/97-things-every-programmer-should-know/fa/thing_15.md)
16. [از کدهای قبلی خود در شرایط مناسب مجدداً استفاده کنید](/97-things-every-programmer-should-know/fa/thing_16.md)
17. [همواره در حال یادگیری موضوعات جدید باشید](/97-things-every-programmer-should-know/fa/thing_17.md)
18. [ویژگی‌های یک API با طراحی مناسب](/97-things-every-programmer-should-know/fa/thing_18.md)
19. [از ابتدای کار توسعهٔ اپلیکیشن خود روی فرآیند نصب و دیپلوی آن به طور پیوسته کار کنید](/97-things-every-programmer-should-know/fa/thing_19.md)
20. [مدیریت اکسپشن‌ها](/97-things-every-programmer-should-know/fa/thing_20.md)
21. [تمرین آگاهانه لازمهٔ حرفه‌ای شدن است!](/97-things-every-programmer-should-know/fa/thing_21.md)
22. [پشت هر خط از کد شما می‌بایست یک منطق وجود داشته باشد!](/97-things-every-programmer-should-know/fa/thing_22.md)
23. [مفهوم DSL چیست و چرا آشنایی با آن در حوزهٔ برنامه‌نویسی اهمیت دارد؟](/97-things-every-programmer-should-know/fa/thing_23.md)
24. [از ساختارشکنی نترسید!](/97-things-every-programmer-should-know/fa/thing_24.md)
25. [برای تست نرم‌افزار از دیتای واقعی استفاده کنید](/97-things-every-programmer-should-know/fa/thing_25.md)
26. [حتی یک ارور را هم نادیده نگیرید!](/97-things-every-programmer-should-know/fa/thing_26.md)
27. [فرهنگ استفاده از یک زبان برنامه‌نویسی را در کنار سینتکس آن بیاموزید](/97-things-every-programmer-should-know/fa/thing_27.md)
28. [اکسپش‌ها را به راحت‌ترین شکل ممکن هَندل کنید](/97-things-every-programmer-should-know/fa/thing_28.md)
29. [فرایند توسعه یک نرم‌افزار خوب اصلاً شانسی نیست](/97-things-every-programmer-should-know/fa/thing_29.md)
30. [آشنایی با قانون DRY](/97-things-every-programmer-should-know/fa/thing_30.md)
31. [شنایی با مراحل توسعهٔ نرم‌افزار](/97-things-every-programmer-should-know/fa/thing_31.md)
32. [به‌کارگیری درست از اصول برنامه‌نویسی شیٔ‌گرا](/97-things-every-programmer-should-know/fa/thing_32.md)
33. [اعداد اعشاری با خطای محاسباتی در کامپیوتر ذخیره می‌شوند](/97-things-every-programmer-should-know/fa/thing_33.md)
34. [جاه طلبی خود را با شرکت در پروژه های متن باز برآروده کنید.](/97-things-every-programmer-should-know/fa/thing_34.md)
35. [قانون طلایی طراحی API](/97-things-every-programmer-should-know/fa/thing_35.md)
36. [اسطوره ها!](/97-things-every-programmer-should-know/fa/thing_36.md)
37. [کار سخت نتیجه همیشه بهترین نتیجه را نمی دهد](/97-things-every-programmer-should-know/fa/thing_37.md)
38. [چگونه به یک باگ نگاه کنیم؟](/97-things-every-programmer-should-know/fa/thing_38.md)
39. [کد را با حذف آن بهبود دهید!](/97-things-every-programmer-should-know/fa/thing_39.md)
40. [من را نصب کن](/97-things-every-programmer-should-know/fa/thing_40.md)
41. [تعداد بالای فرآیندهای داخلی برنامه قطعاً روی کارایی برنامه تاثیر خواهند داشت](/97-things-every-programmer-should-know/fa/thing_41.md)
42. [نظافت را رعایت کنید](/97-things-every-programmer-should-know/fa/thing_42.md)
43. [نحوه استفاده از ابزارهای خط فرمان را بیاموزید](/97-things-every-programmer-should-know/fa/thing_43.md)
44. [بیش از دو زبان برنامه نویسی را به خوبی بلد باشید](/97-things-every-programmer-should-know/fa/thing_44.md)
45. [به IDE خود مسلط باشید](/97-things-every-programmer-should-know/fa/thing_45.md)
46. [محدودیت های خود را بشناسید](/97-things-every-programmer-should-know/fa/thing_46.md)
47. [با آگاهی از قدم بعدی قدم فعلی را بردارید](/97-things-every-programmer-should-know/fa/thing_47.md)
48. [داده های بزرگ به هم پیوسته متعلق به یک پایگاه داده](/97-things-every-programmer-should-know/fa/thing_48.md)
49. [زبان های خارجی را یاد بگیرید، حداقل انگلیسی](/97-things-every-programmer-should-know/fa/thing_49.md)
50. [تخمین زدن را بیاموزید](/97-things-every-programmer-should-know/fa/thing_50.md)
51. [گاهی مسائل و مشکلات بزرگ را به قسمت های کوچکتر بشکنید و با تکه های کوچک سعی و خطا کنید!](/97-things-every-programmer-should-know/fa/thing_51.md)
52. [طوری کد بزنید که پروژه ی شما خودش معرف خودش باشد](/97-things-every-programmer-should-know/fa/thing_52.md)
53. [چیزهای اضافی را لود نکنید!](/97-things-every-programmer-should-know/fa/thing_53.md)
54. [چه‌موقع و چگونه از راه‌کارهای موقتی در کدنویسی استفاده کنیم؟](/97-things-every-programmer-should-know/fa/thing_54.md)
55. [سعی کنید Interface ها را طوری بنویسید که برای استفاده ی صحیح آسان باشند و برای استفاده ی ناصحیح سخت!](/97-things-every-programmer-should-know/fa/thing_55.md)
56. [موارد نامرئی را بیشتر قابل مشاهده(شفاف سازی) کنید](/97-things-every-programmer-should-know/fa/thing_56.md)
57. [ضرورت آشنایی با مفاهیم کانکارنسی و پاراللیزم](/97-things-every-programmer-should-know/fa/thing_57.md)
58. [یافتن راه‌کارهای ساده برای مشکلات سخت](/97-things-every-programmer-should-know/fa/thing_58.md)
59. [دولوپری که نداند Polymorphism چیست، دولوپر نیست!](/97-things-every-programmer-should-know/fa/thing_59.md)
60. [اخبار عجیب و غریب : تستر دوست شماست!🤣](/97-things-every-programmer-should-know/fa/thing_60.md)
61. [همواره یک نسخه از نرم‌افزار برای ریلیس داشته باشید](/97-things-every-programmer-should-know/fa/thing_61.md)
62. [فقط کد حقیقت را می گوید](/97-things-every-programmer-should-know/fa/thing_62.md)
63. [فقط کد نزنید بلکه Build Process را نیز مدنظر قرار دهید](/97-things-every-programmer-should-know/fa/thing_63.md)
64. [اهمیت برنامه‌نویسی دونفره](/97-things-every-programmer-should-know/fa/thing_64.md)
65. [آشنایی با تفاوت Static Typing و Dynamic Typing در برنامه‌نویسی](/97-things-every-programmer-should-know/fa/thing_65.md)
66. [تا حد ممکن از نمایش ارورها برای کاربر اجتناب کنید!ا](/97-things-every-programmer-should-know/fa/thing_66.md)
67. [برنامه نویس حرفه ای](/97-things-every-programmer-should-know/fa/thing_67.md)
68. [همه چیز را روی سییستم های کنترل نسخه قرار بدهید](/97-things-every-programmer-should-know/fa/thing_68.md)
69. [ماوس را زمین بگذارید و از صفحه کلید فاصله بگیرید!](/97-things-every-programmer-should-know/fa/thing_69.md)
70. [کد را بخوانید](/97-things-every-programmer-should-know/fa/thing_70.md)
71. [علوم انسانی بخوانید!](/97-things-every-programmer-should-know/fa/thing_71.md)
72. [تا حد ممکن دست به اختراع مجدد چرخ نزنید!](/97-things-every-programmer-should-know/fa/thing_72.md)
73. [در مقابل وسوسه الگوی Singleton مقاومت کنید](/97-things-every-programmer-should-know/fa/thing_73.md)
74. [وابستگی‌های زیاد دشمن ریفکتورینگ هستند!](/97-things-every-programmer-should-know/fa/thing_74.md)
75. [سادگی از اختصار می آید(کم گوی و گزیده گوی!)](/97-things-every-programmer-should-know/fa/thing_75.md)
76. [آشنایی با قانون Single Responsibility](/97-things-every-programmer-should-know/fa/thing_76.md)
77. [همه‌ چیز با یک آری شروع می‌شود!](/97-things-every-programmer-should-know/fa/thing_77.md)
78. [تا حد ممکن همه‌ چیز را خودکار کنید](/97-things-every-programmer-should-know/fa/thing_78.md)
79. [از مزایای ابزارهای تحلیل کد بهره ببرید](/97-things-every-programmer-should-know/fa/thing_79.md)
80. [در تست نرم‌افزار فقط رفتار مورد انتظار را بسنجید](/97-things-every-programmer-should-know/fa/thing_80.md)
81. [تست‌ها علاوه بر صحیح بودن، می‌بایست دقیق هم باشند](/97-things-every-programmer-should-know/fa/thing_81.md)
82. [تست نرم‌افزار و سورس‌کد را آخر شب‌ها و آخر هفته‌ها انجام دهید!](/97-things-every-programmer-should-know/fa/thing_82.md)
83. [مقایسه‌ای مابین مهندسین نرم‌افزار و دیگر مهندسان](/97-things-every-programmer-should-know/fa/thing_83.md)
84. [از نوشتن کدهای اضافی پرهیز کنید](/97-things-every-programmer-should-know/fa/thing_84.md)
85. [اهمیت برنامه‌نویسی دونفره در کدنویسی را هرگز نادیده نگیرید](/97-things-every-programmer-should-know/fa/thing_85.md)
86. [منفی در مفنی می‌شود مثبت!](/97-things-every-programmer-should-know/fa/thing_86.md)
87. [کدنویسی تمیز و اصولی یک باید است](/97-things-every-programmer-should-know/fa/thing_87.md)
88. [ابزارهای یونیکسی دوست دولوپرها هستند!](/97-things-every-programmer-should-know/fa/thing_88.md)
89. [استفادهٔ درست از الگوریتم‌ها و دیتا استراکچرها](/97-things-every-programmer-should-know/fa/thing_89.md)
90. [با لاگ‌گیری Verbose دچار دردسر خواهید شد!](/97-things-every-programmer-should-know/fa/thing_90.md)
91. [درک تفاوت مفاهیم DRY و WET در کدنویسی بهینه](/97-things-every-programmer-should-know/fa/thing_91.md)
92. [زمانی که برنامه نویسان و تسترها با هم همکاری کنند!](/97-things-every-programmer-should-know/fa/thing_92.md)
93. [طوری کد بنویسید که انگار باید تا آخر عمر برای آن پشتیبانی بدهید](/97-things-every-programmer-should-know/fa/thing_93.md)
94. [تا حد ممکن فانکشن‌های کوچک بنویسید](/97-things-every-programmer-should-know/fa/thing_94.md)
95. [برای دولوپرها تست بنویسید نه برای ماشین‌ها!](/97-things-every-programmer-should-know/fa/thing_95.md)
96. [مراقب سورس‌ کد باشید!](/97-things-every-programmer-should-know/fa/thing_96.md)
97. [منظور مشتریان شما چیزی نیست که می گویند!](/97-things-every-programmer-should-know/fa/thing_97.md)


---

# 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/summary.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.
