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

* [مقدمه](https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/fa)

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