—  Uncategorized
۴ دقیقه

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

واحد پول جدید دغدغه اصلی نرم افزارهای آتی ایران

طرح اصلاح پول ملی

بانک مرکزی از تیرماه ۱۳۹۰ وب سایت ای رو با عنوان طرح اصلاح پول ملی به نشانی reform.cbi.ir شروع و راه اندازی کرده و فرم های نظرسنجی پیرامون ابعاد مختلف برنامه حذف صفر رو در اون گنجانده و طبق گزارش منتشر شده هم هزاران نفر در آن شرکت کرده اند. ولی به نظر می رسه به دلایلی از جمله تحریم های بین المللی، انتخابات ریاست جمهوری اخیر و سیاست های متفاوت، پیشرفت نتیجه بخشی نداشته و سال های بعد، هیچ به روز رسانی در این وب سایت مشاهده نمیشه و وب سایت بیشتر جنبه اطلاع رسانی داشته است.

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

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

راه حل پیشنهادی

اول.  با توجه به اینکه مقادیر پولی در پایگاه داده ها بایستی دقیق و غیر تقریبی باشند، از نوع داده اعشاری مثل float و مشابه آن که اصطلاحا non-precise type گفته می شوند و همچنین نوع داده int یا bigint که مسلما در واحد پولی جدید به دلیل حذف صفر و تبدیل خرده به اعشار جوابگو نخواهند بود، پرهیز کنید و از اعداد اعشاری ممیز ثابت مثل  decimal(15,2) datatype  در MySQL و MSSQL یا اینکه  numeric(15,2) datatype  در MySQL  و موارد مشابه در انواع دیگه ای از پایگاه داده ها استفاده کنید و در حال حاضر مقادیر رو با فرمت پیش فرض ریال و قسمت اعشاری صفر ذخیره کنید.

دوم.  در تنظیمات نرم افزار، امکان انتخاب واحد پول رو اضافه کنید. ممکن هست کاربران، حتی سال ها بعد از اعمال واحد پول جدید، باز هم برای مدتی بر حسب عادت تمایل به استفاده از واحد قدیمی داشته باشند و حتی در حال حاضر، از این طریق امکان نمایش تومان یا ریال رو به دلخواه کاربر فراهم می کنید.

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

چهارم.  فیلدهای با مقادیر پولی رو مشخص و بارز یادداشت کنید و در دسترس داشته باشید.

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

ممکنه که راه حل های بهتری هم وجود داشته باشه. ولی در هر حال امیدوارم با یاری و هم فکری دوستان توسعه دهنده، از همین الان به فکر حذف دردسر تغییرات واحد پول کشور در نرم افزارها باشیم.

وحید حلاجی

اشتراک گذاری در شبکه های اجتماعی