تجربیات برنامه نویسی
194
۲ سال پیش
0

تجربیات برنامه نویسی

سلام به همه

مدت ها بود میخواستم تجربیاتی که توی برنامه نویسی دارم رو جایی آرشیو کنم و در اختیار دیگران بزارم.

توی عمر یه برنامه نویس،دنیای از تجربه بدست میاد که واقعا هم بدست اوردنشون سخت بوده هم نگهداری شون.

تجربه توی برنامه نویسی،در واقع حاصل سال ها تمرین و ازمون خطای یه برنامه نویسه که مثل یه راز توی مغزش میمونه تا اجراش کنه.

حالا من هم یه سری تجربیاتی که توی دفترچه یادداشتم داشتم رو اینجا اوردم که شما هم استفاده کنید.

البته ناگفته نماند تجربه های من به معنی تجربه کاملا درست نیست و میتونه اشتباه هم باشه ولی در کل حاصل ازمون و خطاهای من توی طول مدت برنامه نویسی بوده.

خوب بریم سراغ تجربیات.

  1. سعی کنید توی طراحی های فرم  یا لیوت ها،از طرح های ساخته شده خودتون استفاده کنید.مثلا توی سی شارپ بهش میگن user control یا توی بیسیک4اندروید بهش میگن custom view.
    دلیلش اینه که اینطوری مدیریتش راحتره چرا که با تغییر روی اون طرح اصلی،روی کل پروژه اثر میزاره و لازم نیست یکی یکی تغییرات بدید.
  2. سعی کنید اعتبار سنجی داده های کاربر رو سمت کاربر بصورت جزیی انجام بدید و قسمت مهم اعتبار سنجی رو سمت سرور یا api انجام بدید که دستتون باز باشه توی بررسی داده ها.
  3. توی api داده هایی که تاریخ هستند رو سعی کنید ابتدا تبدیل به تاریخ شمسی کنید و بعد بفرستید به اپلیکیشن و نشون بدید.
    اینطوری میتونید به هر فرمتی که خواستید تاریخ رو نشون میدید و نیاز به اپدیت اپ و سایر موارد نیست.
    همینطور پیشنهاد میکنم بجای ارسال تاریخ بصورت YYYY-MM-DD HH:II:SS از فرمت یونیکس استفاده کنید که بصورت ثانیه هست و از سال 1970 حساب میشه.
    دلیلش اینه که شما توی اپ میتونید خیلی راحت با این عدد کار کنید و مثلا شمارش معکوس درست کنید یا سایر موارد.
  4. داده هایی که فیلد عددی برای وضعیت یا سری موارد مثل وضعیت سفارش (در حال بررسی،در حال آماده سازی،ارسال شده) که قراره توی اپلیکیشن نمایش داده بشن رو حتما سمت سرور معادل سازی کنید و بفرستید اپلیکیشن.
    توی این حالت شما میتونید هر وقت که بخواید عنوان هاشو عوض کنید بدون اینکه اپلیکیشن بروز رسانی بخواد.
  5. از سیستم اطلاع رسانی سنتی برای نصب اجباری ویا پیام اجباری استفاده کنید.
    به این صورت که پیامی سمت سرور با کد مشخصی تعریف کنید و اونو توی اپلیکیشن نشون بدید و طبق کد اون رو حذف کنید.
  6. اگه صفحه اصلی اپلیکیشن تون چند قسمتیه (مثل فروشگاه که بخش پر فروش،بهترین ها،تخفیف ها) داره رو بصورت ماژولار توی اپ نمایش بدید.
    ینی برای هر قسمت نیاید درخواست جدا یه بدنه جدا بزارید.
    به این صورت که طبق ترتیب داده ها و عنوانی که دارن توی صفحه اصلی زیر هم بچینید و نمایش بدید.
    اینطوری میتونید مثلا یه روز تخفیف ترین ها رو بالا بزارید و یه روز بیارید پایین.
  7. حتما توی پروژه تون از کش استفاده کنید چه دیتابیس و چه فایل.
    البته وقتی استفاده کنید که میدونید داده ها لحظه ای عوض نمیشن مثلا وبلاگ که هر روز ارسال میشه پس میتونه کش بشه تا وقتی که پستی ارسال نشده و اینطوری کش میشه و سریع بالا میاد.
  8. حتما از Transction ها توی دیتابیس استفاده کنید و طبق وضعیت اون،بقیه کدها رو بنویسید.
    مثلا اول رکورد رو ثبت کنید و اگه درست بود فایلی رو اپلود کنید و یا یه سری کارها رو انجام بدید اینطوری مطمئن تره.
  9. داده های عددی که توسط کاربر به سرور ارسال میشه رو قبلش تبدیل به عدد انگلیسی کنید چون بعضی کاربرا صفحه کلیدشون فارسیه و عدد بصورت فارسی ارسال میشه و ناشناخته تشخیص میده (البته اینکار در واقع حال دادن به کاربره)
  10. توی مواقع عدم اتصال به اینترنت توی اپلیکیشن،سعی کنید کاربر رو به یه صفحه ای هدایت کنید و اونجا توضیح بدید که اینترنت قطعه و کمکش کنید که دوباره سعی به اون کار کنه
  11. توی پروژه تون از مقدار مستقیم استفاده نکنید مثلا برای اینکه بگید فلان رکورد تایید شده،از خود عدد استفاده نکنید و بجاش از متغیر های CONSTANT استفاده کنید،اینطوری با تغییر مقدار این متغیر،کل پروژه اعمال میشه و مشکلی پیش نمیاد.
  12. پروژه هایی که از کد فعالسازی موبایل استفاده میشه،سعی کنید موقع ارسال کد،زمان تایم اوت کد فعالسازی،تعداد ارقام کد و تعداد اشتباهات وارد شده رو از سرور به اپ ارسال کنید و اپ طبق این اطلاعات،گزینه ها رو کاربر نشون بده
    اینطوری میتونید مثلا زمان تایم اوت کد فعالسازی رو بالا پایین کنید و توی اپ هم همونو نشون بده بدون بروز رسانی.
  13. از قابلیت Virtual field توی mysql استفاده کنید.
    کار این نوع فیلد اینه که میتونید مثلا حاصل جمع دو فیلد رو به mysql بسپارید و خودش انجام میده و میزاره توی فیلد مورد نظر.
  14. برای داده هایی که میخواید سریع باشه بهتره از نوع موتور memory توی mysql استفاده کنید.
    درسته که وقتی سرور ریستارت بشه دیتا از دست میره ولی خیلی سرعتش بالا میشه.
  15. سعی کنید تنظیماتی سمت سرور بزارید به این صورت که با توجه به نسخه اپلیکیشن،پیامی رو نشون بده و یا اجبار به دانلود کنه.
    مثلا میتونید بگید برای نسخه های 4،این پیام رو نشون بده و بگو فلان قابلیت غیر فعال شده و یا موارد دیگر.
  16. اگه پروژه تون خیلی مهمه،بهتره موقع شروع اپلیکیشن،لیستی از دامنه ها رو بگیرید تا وقتی اپ یه وقت قطع شد،روی این دامین ها سوییچ کنه و شما راحت بتونید پروژه رو نجات بدید.
  17. از فیلدی با نام last_modified از نوع تاریخ توی mysql استفاده کنید تا بتونید بفهمید کی اون رکورد بروز رسانی شده.
    این مورد توی تصاویر خیلی کاربرد داره به این صورت که وقتی تصویری رو عوض میکنید،این فیلد رو هم بروز رسانی میکنید و هر جا که تصویر رو نشون میدید،با فیلد last_modified میتونید اخرین تصویر رو نشون بدید.
    به این صورت که یه پارامتر به اخر لینک با نام dummy اضافه میکنید و مقدارش رو مقدار فیلد last_modified میدید و اینطوری میشه که همیشه بروز میشه.
  18. شما میتونید رمز عبورهاتون رو با الگوریتم رمزنگاری شده AES توی mysql ذخیره کنید که چیز خوبیه و نیازی به کدنویسی توی php نداره.
  19. اگه تصویری یا فیلمی هست که قراره توی سایت یا اپلیکیشن نشون داده باشه،بهتره که لینک نمایششون رو سمت سرور درست کنید و به اپلیکیشن بفرستید.
    اینطوری بعدا بخواید مسیر لینک رو عوض کنید مشکلی براتون پیش نمیاد.
  20. موقع ثبت نام کاربر،سعی کنید اطلاعات کامل دستگاهش رو بگیرید که برای آنالیز رفتار کاربرها خیلی بدردبخوره.
  21. همیشه پروژه تون رو با گیت شروع کنید که هیج وقت ضرر نمیکنید.
  22. سعی کنید از مدل سازی داده ها توی پروژه استفاده کنید که در آینده توسعه ش راحتر باشه.

    امیدوارم تجربیاتم بدرد بخور باشه و استفاده کنید.
    شما هم اگه تجربه ای چیزی داشتید حتما توی قسمت نظرات بفرستید تا دوستان هم استفاده کنند.

برچسب ها :
  • برنامه نویسی
نظر خود را بنویسید...