نود و هفت چیزی که هر برنامه‌نویسی باید بداند: ویژگی‌های یک API با طراحی مناسب

امروزه بعید به نظر می رسد که کسی در دنیای برنامه نویسی دستی بر آتش داشته باشد اما اصطلاح API به گوش او نخورده باشد! اگر شما به عنوان یک برنامه نویس با ای پی آی ها کار کرده باشید از اهمیت آن ها مطلع هستید، با این حال سایر افراد ممکن است بپرسند که «اصلاً ای پی آی ها چه هستند و چرا تا این حد مورد توجه قرار می گیرند؟» در این آموزش به دنبال پاسخ دادن به این پرسش ها هستیم و می خواهیم ببینیم یک API خوش ساخت از چه ویژگی هایی برخوردار است.

اگر بخواهیم تعریف ساده ای از API که مخفف عبارت Application Programming Interface ی «واسط برنامه نویسی اپلیکیشن»است داشته باشیم باید بگوییم که ای پی آی ها مجموعه مقرراتی هستند که مشخص می کنند چه طور یک اپلیکیشن می تواند با اپلیکیشن دیگری ارتباط برقرار کند. زمانی که از یک پی سی یا لپ تاپ استفاده می کنیم، ای پی آی ها همان چیزهایی هستند که انتقال اطلاعات را بین برنامه ها امکان پذیر می کنند، برای مثال ای پی آی های سیستمی، اجرای برنامه ای مانند آفیس ورد را روی سیستم عامل ویندوز امکان پذیر می سازند.

همان طور که از نام API مشخص است، آن ها مانند یک رابط بین برنامه نویسان و یک اپلیکیشن هستند؛ به این صورت که اگر برنامه نویس برای پیش برد برنامه ی خود نیاز به اطلاعاتی از اپلیکیشن دیگری داشت، این واسط ها به او می گویند که می تواند برای دریافت چه اطلاعاتی درخواست دهد، چگونه درخواست خود را مطرح کند، و چگونه اطلاعات خود را دریافت کنند. در واقع API هر اپلیکیشن درخواست های مجاز را از سایر برنامه ها تحویل می گیرد، به اپلیکیشن مورد نظر می فرستد، آن گاه اطلاعات را دریافت می کند و تحویل برنامه های دیگر می دهد.

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

اکنون باید ببینیم که ای پی آی ها چگونه این ارتباطات را امکان پذیر می کنند. در حقیقت ای پی آی ها با استفاده از روشی محدود شده و در چارچوب قوانینی خاص با "افشای" برخی از توابع داخلی یک برنامه به محیط خارج از آن تمام این کارها را انجام می دهند. با این کار بدون آن که نیاز باشد توسعه دهنده ها تمام سورس کدهای برنامه ی خود را در اختیار دیگران قرار دهند، اپلیکیشن ها می توانند با به اشتراک گذاری بخشی از داده ها با هم ارتباط برقرار کرده و تعامل داشته باشند.

API ها با محدود کردن دسترسی برنامه های خارجی به بخش خاصی از قابلیت های یک برنامه -که اغلب هم این سطح از دسترسی کافی است- تمام اطلاعات مورد نیاز سایر اپلیکیشن ها برای ارتباط با نرم افزار مورد نظر را فراهم می کنند. در حقیقت می توان API ها را هم چون پنجره ای به داخل یک برنامه تصور کرد.

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

 - یادگیری آن آسان باشد؛
- کاربرد آن حتی بدون استفاده از اسناد، باز هم آسان باشد؛
- امکان استفاده ی نادرست از آن کم باشد؛
- خوانایی و امکان نگهداری و پشتیبانی از کدهایی که از آن استفاده می کنند بالا باشد؛
- برای رفع نیازهای ارتباطی نرم افزارهای دیگر با آن به اندازه ی کافی قدرتمند باشد؛
- توسعه و گسترش آن ساده باشد؛

برای این که چنین خصوصیاتی را در یک ای پی آی ایجاد کنیم لازم است در زمان طراحی آن قواعدی را رعایت کنیم. از جمله این قواعد می توان به موارد زیر اشاره کرد:

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

- باید API تا حد ممکن کوچک باشند؛ هر چه اطلاعات کمتری افشا شود بهتر است. با این حال باید دقت داشته باشیم که ای پی آی طراحی شده حاوی تمام اطلاعات ضروری باشد. تنها به خاطر داشته باشید که همیشه امکان اضافه کردن اطلاعات وجود دارد، اما حذف اطلاعات افشا شده غیر ممکن است!

- این API ها نباید از پیاده سازی های مختلف تأثیر بگیرند. به عبارت دیگر، روش استفاده ی واحدی از آن API وجود داشته باشد.

- دسترسی ها به هر چیز را در پایین ترین سطح ممکن قرار دهید. کلاس ها و آبجکت ها را تا جای ممکن private کنید. کلاس های public نباید فیلدهای public داشته باشند (به استثنای ثابت ها).

- در زمان طراحی و ساخت API سعی کنید که از کاربران نهایی خود فیدبک بگیرید تا مطمئن شوید محصول نهایی شما تمام نیازهای معقول آن ها را برآورده می کند. به علاوه، باید بدانید که طراحی ای پی آی ها نیاز به یک کار تیمی دارد و به شدت پیشنهاد می شود که تمام اعضای تیم طراحی نرم افزار روی طراحی ای پی آی هم کار کنند.

- در طراحی API از تکرارهای بیش از حد اجتناب کنید. برای مثال اگر دو متد یک کار را انجام می دهند، نباید از هر دوی آن ها استفاده کنیم. این کار باعث سردرگمی کاربران می شود.

- از پروتکل امن SSL استفاده کنید. بیش تر کاربران از نقاط دسترسی غیر رمز گذاری شده برای دسترسی به اینترنت استفاده می کنند که امکان هک شدن آن ها را به راحتی فراهم می کند.

نکته SSL مخفف واژگان Secure Sockets Layer به معنی «لایه ی سوکت های ایمن» یکی از پروتوکل های رمزنگاری استاندارد است که به منظور تأمین امنیت ارتباطات اینترنتی توسط شرکت Netscape به منظور انتقال داده‌های خصوصی از طریق اینترنت توسعه داده شد. این پروتوکل امنیت انتقال داده‌ها را در اینترنت برای مقاصدی همچون درگاه های بانک، تصدیق اطلاعات کاربری، انتقال اطلاعات هویتی و دیگر داده‌های حساس امکان پذیر می سازد. به طور خلاصه، کارکرد پروتوکل اس اس ال به این شکل است که مابین کاربر و سایت -که به طور معمول نماینده ی کاربر مرورگری است همچون فایرفاکس یا گوگل کروم و نماینده ی سایت هم وب سرور است- یک لینک رمزنگاری شده ایجاد می‌گردد. در شرایط عادی، اطلاعاتی از این دست به صورت Plain Text یا «متن ساده» مابین مرورگرها و وب سرورها رد و بدل می‌شوند که بسیار آسیب‌پذیر است اما در اس اس ال، کلیه ی داده های رمزنگاری می شوند و به طور کلی، یو آر ال هایی که نیاز به ارتباط اس اس ال دارند، به جای http، با https شروع می شوند.

- از نوشتن مستندات غفلت نکنید. این موضوعی است که بسیاری از برنامه نویسان آن را نادیده می گیرند یا به درستی انجام نمی دهند. مستندات خود را به صورت دقیق و ساده تهیه کنید. بهترین تاکتیک برای این کار این است که فکر کنید می خواهید موضوع را برای یک کودک 10 ساله شرح دهید. از نوشتن در مورد هیچ مرحله ای اجتناب نکنید و هرگز این پیش فرض را نداشته باشید که چون موضوعی برای شما بدیهی است دیگران هم باید آن را بدانند. مستندسازی مناسب به ویژه در شرایطی که فرآیندها پیچیده اند کمک بزرگی به کاربران خواهد کرد.

- واقع گرا باشید. به هر حال با وجود رعایت تمامی قواعد و مشورت اعضای تیم با یکدیگر باز هم امکان اشتباه و نادیده گرفتن یک سری مسائل وجود دارد. اما آن چه باید بدانید این است که در نهایت شما نمی توانید رضایت همه ی افراد را به دست آورید.

در انتها باید این نکته را به شما یادآوری کنیم که هر چند API ها ابزارهایی سودمند در دست برنامه نویسان هستند اما استفاده از آن ها با چالش هایی همراه است. باید بدانید که اگر یک API امروز در دسترس کاربران قرار دارد دلیلی ندارد که این دسترسی برای همیشه وجود داشته باشد. برای مثال چند سال پیش شرکت توئیتر دسترسی کاربران را به ای پی آی های خود محدود کرد.

علاوه بر این، کمپانی هایی که API های خود را در دسترس کاربران قرار می دهند ممکن است بعد از مدتی به ارائه ی خدمات خود پایان دهند. در این صورت اگر اپلیکیشن شما وابسته به API های این شرکت ها باشند با مشکل مواجه خواهند شد. برای مثال فرض کنید شرکت گوگل تصمیم بگیرد ارائه ی خدمات سرویس گوگل مپ را متوقف کند، در این صورت کار اپلیکیشن Yelp نیز متوقف خواهد شد. به هر حال با وجود تمام چالش هایی از این دست، توسعه دهندگان علاقه ی زیادی به استفاده از API ها دارند و هر روز شاهد گسترش ای پی آی های مختلف هستیم (در صورت تمایل به کسب اطلاعات بیشتر در مورد ای پی آی ها، می توانید به فصل پنجم از دوره ی آموزش اصول برنامه‌نویسی در سکان آکادمی نیز مراجعه نمایید.)

2-1
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: بدهی فنی
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-2
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: به کارگیری اصولی از توابع در برنامه نویسی
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-3
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: نیاز کاربر چیست؟
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-4
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: استاندارهای کدنویسی
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-5
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: ساده زیباست
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-6
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: آشنایی با مفهوم ریفکتورینگ در کدنویسی
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-7
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: نظافت را رعایت کنید!
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-8
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: پیش از آن که دیگران را متهم کنید، کد خود را چک کنید!
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-9
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: انتخاب ابزار مناسب
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-10
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: برنامه های خود را به زبان مشتریان بنویسید!
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-11
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: طرح‌های خود را بی‌نقص کنید
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-12
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: به چیدمان کدها توجه کنید!
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-13
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: نقد و بررسی کدها
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-14
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: کامنت‌گذاری را فراموش نکنید
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-15
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تنها توضیحاتی را بنویسید که کدهایتان قادر به شرح آنها نباشند!
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-16
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: از کدهای قبلی خود در شرایط مناسب مجدداً استفاده کنید
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-17
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: همواره در حال یادگیری موضوعات جدید باشید
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-18
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: ویژگی‌های یک API با طراحی مناسب
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-19
نود و هفت چیز که هر برنامه‌نویسی باید بداند: از ابتدای کار توسعهٔ اپلیکیشن خود روی فرآیند نصب و دیپلوی آن به طور پیوسته کار کنید
بهزاد مرادی
۱۳۹۴/۱۰/۰۸
2-20
نود و هفت چیز که هر برنامه‌نویسی باید بداند: مدیریت اکسپشن‌ها
بهزاد مرادی
۱۳۹۴/۱۰/۰۹
2-21
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تمرین آگاهانه لازمهٔ حرفه‌ای شدن است!
بهزاد مرادی
۱۳۹۴/۱۰/۱۸
2-22
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: پشت هر خط از کد شما می‌بایست یک منطق وجود داشته باشد!
بهزاد مرادی
۱۳۹۴/۱۱/۰۷
2-23
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: DSL چیست و چرا آشنایی با آن در حوزهٔ برنامه‌نویسی اهمیت دارد؟
بهزاد مرادی
۱۳۹۴/۱۱/۱۵
2-24
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: از ساختارشکنی نترسید!
بهزاد مرادی
۱۳۹۵/۰۱/۱۶
2-25
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: برای تست نرم‌افزار از دیتای واقعی استفاده کنید
بهزاد مرادی
۱۳۹۵/۰۱/۲۰
2-26
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: حتی یک ارور را هم نادیده نگیرید!
بهزاد مرادی
۱۳۹۵/۰۲/۰۵
2-27
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: فرهنگ استفاده از یک زبان برنامه‌نویسی را در کنار سینتکس آن بیاموزید
بهزاد مرادی
۱۳۹۵/۰۲/۱۵
2-28
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: اکسپش‌ها را به راحت‌ترین شکل ممکن هَندل کنید
بهزاد مرادی
۱۳۹۵/۰۳/۰۹
2-29
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: فرایند توسعه یک نرم‌افزار خوب اصلاً شانسی نیست
بهزاد مرادی
۱۳۹۵/۰۳/۰۹
2-30
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: آشنایی با قانون DRY
بهزاد مرادی
۱۳۹۵/۰۳/۰۹
2-31
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: آشنایی با مراحل توسعهٔ نرم‌افزار
بهزاد مرادی
۱۳۹۵/۰۳/۲۵
2-32
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: به‌کارگیری درست از اصول برنامه‌نویسی شیٔ‌گرا
بهزاد مرادی
۱۳۹۵/۰۴/۱۱
2-33
نود و هفت چیز که هر برنامه‌نویسی باید بداند: اعداد اعشاری با خطای محاسباتی در کامپیوتر ذخیره می‌شوند
بهزاد مرادی
۱۳۹۵/۰۵/۱۷
2-34
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: با مشارکت در پروژه‌های اپن‌سورس، حس جاه‌طلبی خود را ارضاء کنید!
بهزاد مرادی
۱۳۹۵/۰۶/۳۰
2-35
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: قانون طلایی طراحی API
بهزاد مرادی
۱۳۹۵/۰۷/۰۴
2-36
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: کسی که چند سال است کدنویسی می‌کند، اصلاً علامهٔ دهر نیست!
بهزاد مرادی
۱۳۹۵/۰۷/۰۶
2-37
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: کار زیاد ضمانت موفقیت در برنامه‌نویسی نیست!
بهزاد مرادی
۱۳۹۵/۰۷/۰۶
2-38
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: چگونه به یک باگ نگاه کنیم؟
بهزاد مرادی
۱۳۹۵/۰۷/۱۹
2-39
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: با حذف کدهای اضافی، سورس‌کد خود را بهبود بخشید
بهزاد مرادی
۱۳۹۵/۰۷/۲۱
2-40
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: برنامه‌هایی که می‌نویسید را کاربرپسند کنید
بهزاد مرادی
۱۳۹۵/۰۷/۲۱
2-41
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: فرایندهای برون برنامه‌ای، زمان پاسخگویی نرم‌افزار را تحت‌الشعاع خود قرار می‌دهند
بهزاد مرادی
۱۳۹۵/۰۷/۲۱
2-42
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: Build اصولی ارائه کنید
بهزاد مرادی
۱۳۹۵/۰۸/۰۵
2-43
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: استفادهٔ بهینه از ابزارهای کامندلاینی
بهزاد مرادی
۱۳۹۵/۰۸/۲۳
2-44
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: یادگیری هم‌زمان بیش از یک زبان برنامه‌نویسی
بهزاد مرادی
۱۳۹۵/۰۸/۲۳
2-45
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: IDE خود را مثل موم در دست بگیرید
بهزاد مرادی
۱۳۹۵/۰۸/۲۹
2-46
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: با محدودیت‌های خود دست و پنجه نرم کنید
بهزاد مرادی
۱۳۹۵/۰۹/۱۲
2-47
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: همواره بدانید چه چیزی را قرار است کامیت کنید
بهزاد مرادی
۱۳۹۵/۰۹/۱۲
2-48
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: آشنایی با نحوهٔ به‌کارگیری دیتابیس‌های رابطه‌ای
بهزاد مرادی
۱۳۹۶/۰۵/۰۶
2-49
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: آشنایی با مهارت‌های ارتباطی و فراگیری زبان‌های خارجی
بهزاد مرادی
۱۳۹۶/۰۵/۰۷
2-50
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: خود را با مهارت تخمین زدن تجهیز کنید!
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
2-51
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: IDE یا Editor مسأله این است!
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
2-52
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: ارسال پیام خطا به دولوپر توسط نرم‌افزار
بهزاد مرادی
۱۳۹۶/۰۵/۱۰
2-53
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: چیزهای اضافی را لود نکنید!
بهزاد مرادی
۱۳۹۶/۰۵/۱۱
2-54
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: چه‌موقع و چگونه از راه‌کارهای موقتی در کدنویسی استفاده کنیم؟
بهزاد مرادی
۱۳۹۶/۰۵/۱۶
2-55
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: استفادهٔ نادرست از اینترفیس‌ها را غیرممکن سازید
بهزاد مرادی
۱۳۹۶/۰۵/۱۷
2-56
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تا حد ممکن همه‌ چیز را شفاف‌سازی کنید
بهزاد مرادی
۱۳۹۶/۰۵/۱۸
2-57
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: ضرورت آشنایی با مفاهیم کانکارنسی و پاراللیزم
بهزاد مرادی
۱۳۹۶/۰۵/۱۸
2-58
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: یافتن راه‌کارهای ساده برای مشکلات سخت
بهزاد مرادی
۱۳۹۶/۰۵/۱۸
2-59
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: دولوپری که نداند Polymorphism چیست، دولوپر نیست!
بهزاد مرادی
۱۳۹۶/۰۵/۲۱
2-60
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تستر‌های نرم‌افزار دشمن دولوپرها نیستند!
بهزاد مرادی
۱۳۹۶/۰۵/۲۲
2-61
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: همواره یک نسخه از نرم‌افزار برای ریلیس داشته باشید
بهزاد مرادی
۱۳۹۶/۰۵/۲۳
2-62
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: فقط سورس‌کد است که حرف اول و آخر را می‌زند
بهزاد مرادی
۱۳۹۶/۰۵/۲۳
2-63
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: فقط کد نزنید بلکه Build Process را نیز مدنظر قرار دهید
بهزاد مرادی
۱۳۹۶/۰۵/۲۵
2-64
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: اهمیت برنامه‌نویسی دونفره
بهزاد مرادی
۱۳۹۶/۰۵/۲۶
2-65
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: آشنایی با تفاوت Static Typing و Dynamic Typing در برنامه‌نویسی
بهزاد مرادی
۱۳۹۶/۰۵/۲۸
2-66
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تا حد ممکن از نمایش ارورها برای کاربر اجتناب کنید!
بهزاد مرادی
۱۳۹۶/۰۵/۳۰
2-67
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: به چه برنامه‌نویسی حرفه‌ای می‌گویند؟
بهزاد مرادی
۱۳۹۶/۰۶/۰۴
2-68
نود و هفت چیزی که برنامه‌نویسی باید بداند: از ورژن کنترل غافل نشوید!
بهزاد مرادی
۱۳۹۶/۰۶/۰۸
2-69
نود و هفت چیزی که برنامه‌نویسی باید بداند: ماوس و کیبورد را کنار بگذارید!
بهزاد مرادی
۱۳۹۶/۰۶/۰۹
2-70
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: کدخوانی کنید!
بهزاد مرادی
۱۳۹۶/۰۶/۱۳
2-71
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تعاملات اجتماعی کلید موفقیت است!
بهزاد مرادی
۱۳۹۶/۰۶/۱۴
2-72
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تا حد ممکن دست به اختراع مجدد چرخ نزنید!
بهزاد مرادی
۱۳۹۶/۰۶/۱۶
2-73
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تا حد ممکن از Singleton Pattern استفاده نکنید
بهزاد مرادی
۱۳۹۶/۰۶/۱۷
2-74
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: وابستگی‌های زیاد دشمن ریفکتورینگ هستند!
بهزاد مرادی
۱۳۹۶/۰۶/۱۸
2-75
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: هرچه تعداد خطوط کد کمتر، بهتر!
بهزاد مرادی
۱۳۹۶/۰۶/۱۹
2-76
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: آشنایی با قانون Single Responsibility
بهزاد مرادی
۱۳۹۶/۰۶/۱۹
2-77
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: همه‌ چیز با یک آری شروع می‌شود!
بهزاد مرادی
۱۳۹۶/۰۶/۲۰
2-78
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تا حد ممکن همه‌ چیز را خودکار کنید
بهزاد مرادی
۱۳۹۶/۰۶/۲۱
2-79
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: آشنایی با مزایای ابزارهای تحلیل سورس‌کد
بهزاد مرادی
۱۳۹۶/۰۶/۲۲
2-80
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: در تست نرم‌افزار فقط رفتار مورد انتظار را بسنجید
بهزاد مرادی
۱۳۹۶/۰۶/۲۲
2-81
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تست‌ها علاوه بر صحیح بودن، می‌بایست دقیق هم باشند
بهزاد مرادی
۱۳۹۶/۰۶/۲۴
2-82
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تست نرم‌افزار و سورس‌کد را آخر شب‌ها و آخر هفته‌ها انجام دهید!
بهزاد مرادی
۱۳۹۶/۰۶/۲۶
2-83
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: مقایسه‌ای مابین مهندسین نرم‌افزار و دیگر مهندسان
بهزاد مرادی
۱۳۹۶/۰۷/۰۱
2-84
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: از نوشتن کدهای اضافی پرهیز کنید
بهزاد مرادی
۱۳۹۶/۰۷/۰۲
2-85
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: اهمیت برنامه‌نویسی دونفره در کدنویسی را هرگز نادیده نگیرید
بهزاد مرادی
۱۳۹۶/۰۷/۰۴
2-86
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: منفی در مفنی می‌شود مثبت!
بهزاد مرادی
۱۳۹۶/۰۷/۰۸
2-87
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: کدنویسی تمیز و اصولی یک باید است
بهزاد مرادی
۱۳۹۶/۰۷/۰۹
2-88
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: ابزارهای یونیکسی دوست دولوپرها هستند!
بهزاد مرادی
۱۳۹۶/۰۷/۱۷
2-89
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: استفادهٔ درست از الگوریتم‌ها و دیتا استراکچرها
بهزاد مرادی
۱۳۹۶/۰۷/۲۲
2-90
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: با لاگ‌گیری Verbose دچار دردسر خواهید شد!
بهزاد مرادی
۱۳۹۶/۰۸/۰۲
2-91
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: درک تفاوت مفاهیم DRY و WET در کدنویسی بهینه
بهزاد مرادی
۱۳۹۶/۰۸/۰۳
2-92
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تعامل مابین دولوپرها و تسترها
بهزاد مرادی
۱۳۹۶/۰۹/۱۱
2-93
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: طوری کد بزنید که گویی قرار است تا آخر عمر سورس‌کدتان را ساپورت کنید!
بهزاد مرادی
۱۳۹۶/۰۹/۱۱
2-94
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: تا حد ممکن فانکشن‌های کوچک بنویسید
بهزاد مرادی
۱۳۹۶/۱۰/۱۶
2-95
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: برای دولوپرها تست بنویسید نه برای ماشین‌ها!
بهزاد مرادی
۱۳۹۶/۱۰/۱۸
2-96
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: مراقب سورس‌کد باشید!
بهزاد مرادی
۱۳۹۶/۱۰/۱۸
2-97
نود و هفت چیزی که هر برنامه‌نویسی باید بداند‍: خیلی به حرف‌های مشتریان اعتماد نکنید!
بهزاد مرادی
۱۳۹۶/۱۰/۱۸
rocket
نظرات
اگر login نکردی برامون ایمیلت رو بنویس: