دانشکده ی فنی و مهندسی

زکات علم نشر آن است!

دانشکده ی فنی و مهندسی

زکات علم نشر آن است!



قسمت اول پست 

یا مهون یا مسهل 
کدنویسی بک‌اند به‌صورت اصولی یک سوی قضیه است و ایجاد تجربهٔ کاربری خوب برای کاربران نرم‌افزار هم چیز دیگری است! ۲ مورد از القاب خداوند در دعای جوشن‌کبیر یا مهون به‌معنی «ای آسان‌کننده» و یا مسهل به‌معنی «ای هموارکنندهٔ راه‌ها» است.امروزه راز موفقیت اکثر نرم‌افزارهایی که به‌بازار عرضه می‌شوند را می‌توان در حس خوبی که کاربران آن نرم‌افزار می‌گیرند ارزیابی کرد. به‌عبارت دیگر، ما می‌بایست نرم‌افزاری در اختیار گروه مخاطب خود قرار دهیم که به ساده‌ترین شکل ممکن نیازهای ایشان را مرتفع گرداند.

این قضیه در مورد فروشگاه‌های آنلاین کاملاً صادق است؛ فرض کنید که شما قصد خرید یک کتاب آموزش اصول برنامه‌نویسی جاوا را از یک کتاب‌فروشی آنلاین دارید؛ زمانی که قصد اضافه کردن کتاب به سبد خرید را دارید، سایت از شما می‌خواهد که ابتدا ثبت نام کنید. وقتی که روی لینک ثبت نام کلیک می‌کنید، با فرمی بلند بالا مواجه می‌شوید که در آن اطلاعاتی از قبیل نام و نام‌خانوادگی، ایمیل، آدرس، شماره همراه، تاریخ تولد، روش آشنایی و … را از شما می‌خواهد.

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

یا من لم یهتک الستر 
برخی مواقع آدم با گروهی از برنامه‌نویسها مواجه می‌شود که دائماً سعی در تخریب سایر همکاران خود دارند؛ مثلاً اگر دولوپری به زبان برنامه‌نویسی جاوا مسلط است، به‌خاطر محبوب بودن و قدرتمند بودن این زبان، به سایر برنامه‌نویسان به دیدهٔ حقارت می‌نگرد. به‌عنوان مثال دیگری که امروزه به‌کرات دیده می‌شود، کری خواندن دولوپرهای پی‌اچ‌پی و دات‌نت است که همدیگر را اصلاً قبول ندارند و این در حالی است که هر کدام از این زبان‌ها، می‌تواند کاربردهای خاص خود را داشته باشد.

اگر با یکی از این دولوپرهایی که در بالا برخی از خصوصیاتشان را برشمردیم مواجه شده باشید، مسلماً تجربه کرده‌اید که فقط کافی است که ایشان کمی از شما تجربهٔ بیشتری در کدنویسی داشته باشد که در این صورت اگر کدنویسی شما را کمی غیراصولی ببینند، شروع به تخریب شما می‌کند و در همین جا است که می‌بایست صفتی همچون یا من لم یهتک الستر به‌معنی «ای که پردهٔ کسی را ندری» را در خود نهادینه کنیم.

خیلی از مسلمان‌ها دست به گناهان کبیره‌ای می‌زنند -که البته نگارندهٔ این مقاله هم اصلاً از این قاعده مستثنی نیست!- که اگر کسی متوجه آن شود، آبروی ما حسابی خواهد ریخت اما خداوند دست ما را رو نمی‌کند؛ سعی کنیم به‌جای آن‌که اگر باگی در یکی از نرم‌افزارهای یک دولوپر دیگر دیدیم شروع به تخریب وی کنیم، وی را از وجود باگ مطلع کرده و پیش از آن‌که آبروی وی بریزد، باگ نرم‌افزارش رفع گردد.

شاهد این ادعا هم مشکل امنیت بانک ملت است که چند سال پیش فضای وب فارسی را تحت‌الشعاع خود قرار داد؛ به‌طور خلاصه، این مشکل از اینجا ناشی شد که سایت بانک ملت یک یو‌آر‌ال را در اختیار کاربر قرار می‌داد که حاوی پارامتری تحت عنوان SaleOrderId به‌معنی «شناسهٔ خرید» بود. حال اگر کاربری پیدا می‌شد و مقدار این پارامتر را تغییر می داد، می‌توانست به تراکنش‌های سایر مشتریان بانک هم دست یابد.

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

یا اسمع السامعین 
Active Listening مهارتی است که شرکت‌های حرفه‌ای در کشورهای جهان اول روی آموزش آن به پرسنل خود سرمایه‌گذاری می‌کنند. جملهٔ جالبی وجود دارد با این مضمون که خداوند ما را با ۱ دهان و ۲ گوش آفریده است پس به‌همین میزان می‌بایست از آن‌ها استفاده کنیم؛ به‌عبارت دیگر، هر چقدر صحبت می‌کنیم، می‌بایست ۲ برابر آن گوش دهیم!

زمانی که دولوپرها در جلسات توجیهی با مشتریان شرکت می‌کنند، می‌بایست از صفتی همچون یا اسمع السامعین به‌معنی «ای شنواترین شنوایان» برخوردار گردند؛ گاهی‌اوقات وقتی که ما به‌خوبی به نیازهای مشتریان گوش فرا نمی‌دهیم، این مسأله منجر به ایجاد سوء‌تفاهماتی در آینده خواهد شد. برای این منظور، توصیه می‌کنیم که با گوگل کردن (توجه داشته باشیم که اخیراً واژهٔ Google در زبان انگلیسی به‌عنوان یک فعل درآمده و به‌جای اصطلاحاً Search It in google.com به معنی «آن را با استفاده از موتور جستجوی گوگل سرچ کن»، از خود تک‌واژهٔ Google استفاده می‌شود) در ارتباط با مهارت‌های Active Listening، قابلیت خوب گوش دادن را در خود ارتقاء دهیم و تحت هیچ عنوان و بدون گوش فرا دادن به نیازهای مشتریان، فرض را بر این نگذاریم که «حتماً نیازهای این مشتری هم شبیه به مشتری قبلی است».

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

فرض کنیم که ما در یک شرکت هاستینگ کار می‌کنیم و یک مشتری داریم حدوداً ۴۵ ساله که تکنوفوب است (به‌طور کلی، منظور از فوبیا یعنی ترس و منظور از تکنوفوب، کسی است که با فناوری رابطه خوبی ندارد!) و این اولین باری است که قصد راه‌اندازی وب‌سایت شخصی‌اش را دارا است. رویکردی که معمولاً در جامعه دیده می‌شود این است که اپراتور این فرد را به آموزش‌های قرار گرفته روی سایت، سرچ در گوگل و … سوق می‌دهد و این در حالی است که وی هرچه بیشتر در این زمینه به جستجو و مطالعه می‌پردازد، بیشتر سردرگم می‌شود. درعین‌حال، می‌توان رویکردی همچون خداوند اتخاذ کرد که پشتیبان کسانی است که هیچ پشتیبانی ندارند؛ به‌عبارت دیگر، تا حد ممکن به راهنمایی وی پرداخته و به‌جای آن‌که کارها را به‌دوش این فرد میانسال بیندازیم، خود مسئولیت کانفیگ کردن، ست کردن دی‌ان‌اس و … را برعهده گیریم.

این قضیه در مورد دولوپرها هم به‌کرات دیده می‌شود به این صورت که به‌محض دریافت آخرین چک پروژهٔ خود، دست از پشتیبانی مشتری می‌کشند! توجه داشته باشیم که در‌حال‌حاضر، آنچه افراد یا شرکت‌های تراز اول را از شرکت‌های سطح پایین‌تر متمایز می‌سازد، توانایی ایشان در پشتیبانی خدمات یا محصولات خود است. ما دولوپرها اگر بتوانیم خود را به یا مرشد من استرشده به‌معنی «ای راهنمای کسی که از او راهنمایی جوید» و یا نعم المجیب به‌معنی «ای نیکو پاسخ ده» و یا دلیل من لا دلیل له به‌معنی «ای راهنمای آن که راهنمایی ندارد» همچون خداوند متعال تجهیز کنیم، مسلماً دارای تأثیرگذاری بیشتری در جامعهٔ آی‌تی خواهیم بود.

یا لطیف الصنع / یا من فعله لطیف /یا من خلق فسوی 
حرفهٔ برنامه‌نویسی جزو مهارت‌هایی است که دقت بسیار بالایی می‌طلبد و شاهد این ادعا هم آن که یک بی‌دقتی کوچک می‌تواند هزینه‌های بسیار بالایی برای محصول، دولوپرها و یا کاربران محصول درپی داشته باشد؛ خداوند از اسمائی همچون یا لطیف الصنع و یا من لعله لطیف به‌ترتیب به‌معانی «ای دقیق صنعت» و «ای که کارش دقیق است» برخوردار است و بدون شک یک دولوپر حرفه‌ای هم می‌بایست از چنین صفاتی برخوردار گردد.

شاید بتوان گفت یکی از دلایلی که کمتر شاهد نرم‌افزارهایی بوده‌ایم که در سطح جهانی حرفی برای گفتن داشته باشند، عدم برخورداری از این ۲ صفت باشد. به‌عبارت دیگر، به‌کرات دیده می‌شود که نرم‌افزارهایی که به‌بازار عرضه می‌شوند که نه‌تنها در بک‌اند آن‌ها دقت زیادی به‌کار گرفته نشده، بلکه در ظاهر یا بهتر بگوییم فرانت‌اند آن‌ها هم وسواس زیادی به‌خرج داده نشده است و همین مسأله منجر می‌گردد که یک نرم‌افزار نتواند سهم بازار قابل‌توجهی را به‌خود اختصاص دهد.

یکی از صفات دیگر خداوند یا من خلق فسوی به‌معنی «ای که آفرید و بیاراست» است؛ یعنی خداوند در زمان آفرینش هستی، صرفاً به مقولهٔ آفرینش فکر نکرده بلکه آفرینش باکیفیت ملاک  بوده است و شاهد چنین ادعایی هم آفرینش مناظر دل‌انگیز، انسان‌های زیبا، حیوانات حیرت‌برانگیز و … است. به‌طور خلاصه، دولوپری که از صفت یا من خلق فسوی برخوردار باشد، کسی است که کدهایی که می‌نویسد بسیار خوانا و تمیز هستند، به‌خوبی کامنت‌گذاری شده‌اند، نامگذاری توابع و متغیرها کاملاً مرتبط است و درعین‌حال رابط کاربری نرم‌افزار ایشان نیز بسیار جذاب و کاربرپسند است.

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

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

یا ابصر من کل بصیر/ یا اخبر من کل خبیر / یا حسن البلاء /یا ذا الفعل الرشید 
وقتی شما نرم‌افزاری را منتشر می‌کنید -به‌خصوص اگر نرم‌افزار شما وب اپلیکیشن و یا اپلیکیشنی باشد که بر بستر وب کار می‌کند- دیگر عنان نرم‌افزار از دست شما خارج است لذا نیاز است تا فرض را بر این بگذارید که تعدادی هکر حرفه‌ای بیکار نشسته تا وب اپلیکیشن شما را هک کنند. در اینجا است که صفاتی همچون یا ابصر من کل بصیر و یا اخبر من کل خبیر به‌معانی به‌ترتیب «ای بیناتر از هر بینا» و «ای آگاه‌تر از هر آگاه» به داد ما می‌رسند؛ در‌واقع، ما می‌بایست نقش یک هکر کلاه سفید را بازی کرده، حفره‌های امنیتی نرم‌افزار خود را یافته و همواره یک گام جلوتر از هکرهای کلاه سیاه باشیم!

تیر خلاص در این راستا، داشتن صفتی همچون یا حسن البلاء به‌معنی «ای نیک آزمایش» است که به ما کمک می‌کند تا نرم‌افزار خود را به‌بهترین شکل آزمایش کرده و این زحمت را به دوش هکرهای باغرض نیندازیم! همان‌طور که در عنوان این آیتم اشاره شد، یکی دیگر از صفات خداوند یا ذا الفعل الرشید به‌معنی «ای صاحب کار مستحکم» است: دولوپر موفق کسی است، کارش را به حرفه‌ای‌ترین شکل ممکن انجام دهد.

یا رازق المقلین 
بسیاری از دولوپرها سراسر دنیا را می‌بینیم که دانش خود را به‌رایگان در اختیار سایرین قرار می‌دهند؛ شاید یکی از دلایل این کار ایشان، حس نوع‌دوستی‌شان باشد که ممکن است فکر کنند شاید فرد بااستعدادی باشد که به‌خاطر عدم برخورداری از شرایط مالی خوب، نتواند به‌دنبال علاقه‌اش (برنامه‌نویسی) برود لذا بستری را فراهم می‌کنند که این گروه از افراد صرفاً با دسترسی به یک اتصال اینترنت و یک لپ‌تاپ، بتوانند در حوزهٔ برنامه‌نویسی فعالیت کنند.

خداوند هم این چنین است و صفتی همچون یا رازق المقلین به‌معنی «ای روزی ده ناداران» به‌خوبی برازنده ذات احدیت است؛ اگر ما دولوپرها هم بتوانیم از چنین صفتی برخوردار گردیم و بدون چشم‌داشت مالی، دانش خود را در اختیار سایر هم‌نوعان خود قرار دهیم، خواهیم توانست تازه همچون کشورهای -به‌قول برخی آقایان بلاد کفر- مثلاً آمریکا شده و حس نوع‌دوستی را در جامعه ترویج دهیم.

یا من اله المثل الاعلی 
اگر ترجمهٔ فارسی قرآن را خوانده باشید، خواهید یافت که در آیات مختلف قرآن مثال‌ها و داستان‌های فراوانی آورده شده و این هم به‌خاطر متصف بودن خداوند متعال به صفت یا من اله المثل الاعلی به‌معنی «ای که از آن اوست عالی‌ترین مثال‌ها» است؛ اگر شما دولوپری هستید که قصد آموزش اصول برنامه‌نویسی را به یک فرد مبتدی دارید، به‌جای استفاده از Jargon یا بهتر بگوییم «اصطلاحات فنی» حوزهٔ برنامه‌نویسی، بهتر آن است که از مثال‌های روزمره‌ای که افراد با آن‌ها درگیر هستند استفاده کنید که بدون شک افراد مبتدی با این سبک آموزش، بهتر متوجه اسلوب برنامه‌نویسی می‌شوند .

برای روشن‌تر شدن این مسأله مثالی می زنیم. نیکان پوره -مدرس نوجوان دورهٔ آموزش زبان اسکرچ به کوکان در سکان آکادمی- زمانی که خواست دستورات شرطی را به مخاطبین دورهٔ آموزش برنامه‌نویسی اسکرچ انتقال دهد، سعی کرد وارد زندگی روزمرهٔ مخاطبین شده و مثالی برای ایشان بیاورد که این مفهوم به‌خوبی در ذهن ایشان جا بیافتد. مثالی که نیکان زد این بود که:

فرض کنیم مامانتون بتون می‌گه اگر در کارنامه‌ات همهٔ نمره‌هات ۲۰ باشه، برات یک تبلت می‌خرم و در غیر این صورت، خبری از تبلت مبلت نیست‌ها!

و به این شکل بود که نیکان این داستان را به دستورات شرطی if در برنامه‌نویسی ربط داد. 

ادامه دارد ...



 منبع 
  • سنا عبادی

نظرات  (۱)

خیلی جالب بود!!!!!!
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی