میدانید که عصر حاضر عصر دانش و اطلاعات و عصر اینترنت است. بیش از نیمی از مردم از فضای مجازی استفاده می کنند و این می تواند فرصت مناسبی برای هر کسب و کاری باشد به ویژه برای کسب و کارهای مرتبط با گردشگری.
در این مقاله، نگاهی میاندازیم به ۴ نوع از باگها که نام خود را از دانشمندان معروف گرفتهاند.
در مقالهای معروف، آقای Jim Gray، باگها در برنامه نویسی طراحی سایت گردشگری را به ۲ دسته Bohrbugs و Heisenbugs، براساس نام ۲ دانشمند معروف تقسیمبندی کرده است اما امروزه، ما انواع باگهای برنامه نویسی بیشتری را میشناسیم و با آنها سروکار داریم.
Bohrbug
بیشتر باگهایی که در طراحی سایت که با آنها برخورد داریم، مجدداً قابلتولید هستند و با عنوان Bohrbugs شناخته میشوند؛ این باگها در طراحی سایت نام خود را از دانشمندی به نام Niels Bohr گرفتهاند که در سال 1913 یک مدل اتمی ساده و قابلدرک ارائه داد. در مدل آقای Bohr، چیزهایی مثل مسیر حرکت و مقدار انرژی یک الکترون در یک اتم، قابل پیشبینی هستند.
بهطورمشابه، Bohrbugها هم قابل پیشبینی هستند؛ بهعبارت دیگر، اگر تحت همان شرایط قبلی طراحی سایت را اجرا کنید، دوباره ایجاد میشوند. برای مثال، وقتی بهخاطر اینکه از یک موجودیت null استفاده میکنید و بالتبع برنامهٔ شما کرش میکند، قطعاً بار دیگر برنامه برای یک ورودی دیگر با مقدار null در همین قسمت کرش خواهد کرد؛ پس مشخص است که این باگ بهراحتی قابل تولید مجدد و بالتبع قابل دیباگ کردن است.
Heisenbug
همهٔ دولوپرهای حرفهای در طراحی سایت گردشگری با این موضوع مواجه شدهاند زمانیکه برنامه را دوباره اجرا میکنند، باگی که در طراحی سایت توریستی باعث شده بود برنامه کرش کند، ناپدید شده است! صرفنظر از اینکه چقدر تلاش میکنید و زمان خود را صرف پیدا کردن دوبارهٔ همان باگ برنامه نویسی میکنید، ولی باگ برنامه نویسی از دست شما فرار میکند و دوباره خود را نشان نمیدهد.
این نوع از باگها اسم خود را از دانشمند معروف آقای Werner Heisenberg گرفتهاند که بهخاطر «اصل عدم قطعیت» یا اصطلاحاً Uncertainty Principle شناخته شده است؛ براساس این اصل، در یک زمان مشخص، امکان اندازهگیری مکان و سرعت یک الکترون درون یک اتم، بهصورت دقیق و یا تقریبی وجود ندارد.
وقتی شما میخواهید عملیات دیباگینگ، ایزولهسازی و یا بررسی دقیق برای پیدا کردن مشکل را انجام دهید و باگها رفتار متفاوتی از خود نشان میدهند، به این نام شناخته میشوند؛ برای مثال، اگر متغیرهایتان را مقداردهی اولیه نکنید، ممکن این اتفاق رخ دهد. وقتی برنامه اجرا میشود، به متغیرهایی که مقداردهی اولیه نشدهاند دسترسی خواهد داشت و این باعث ایجاد باگ میشود اما این درحالی است که وقتی میخواهیدطراحی سایترا دیباگ کنید، برنامه احتمالاً درست کار خواهد کرد چراکه بسیاری از دیباگرها، متغیرهایی که مقداردهی اولیه نشدهاند را با ۰ مقداردهی میکنند و همین باعث میشود که شما با باگ موردنظر برخورد نکنید.
Mandelbugs
وقتی علت ایجاد باگ بسیار پیچیده و غیرقابل فهم باشد و باگ رفتاری غیرطبیعی از خود نشان میدهد، آنرا Mandelbugs مینامند. این باگها نام خود را از روی نام آقای Benoît Mandelbrot گرفتهاند که بهعنوان پدر علم هندسه فراکتال شناخته میشود (فراکتالها، ساختارهای پیچیده و شبیه به خود هستند). یک باگ در سیستمعامل که به زمانبندی وابسته است، مثالی از این نوع باگها است.
Schroedinbug
گاهیاوقات در طراحی سایت به سورسکد نگاه میاندازید و متوجه میشوید که باگ یا مشکلی وجود دارد که در مرحلهٔ اول اصلاً نباید اجازهٔ اجرا شدن برنامه را بدهد وقتی میخواهید همین کد را اجرا کنید، باگ موردنظر بیدرنگ ظاهر میشود و نرمافزار متوقف میشود. هرچند این مورد کمی غیرمعمول بهنظر میرسد، اما چنین باگهایی گاهیاوقات رخ میدهند و با نام Schroedinbug شناخته میشوند (معمولاً این نوع باگها از مراحل اولیهٔ تستهای کیفیت نرمافزار رد میشوند و خود را نشان نمیدهند).
باگهای نوع Schroedinbug، نام خود را از دانشمند معروف آقای Erwin Schrödinger گرفتهاند که ایده«آزمایش تئوری گربه» را ارائه کرد؛ در فیزیک کوانتوم، ذرههای کوانتوم مانند اتمها، میتوانند در ۲ حالت یا بیشتر وجود داشته باشند ولی شرودینگر پیشنهاد کرد که در اشیاء کلاسیکتری مانند گربه که از اتمهای بسیاری تشکیل شده، وجود داشتن در ۲ حالت، غیرممکن است. وی یک سناریو را پیشنهاد میکند که در آن یک گربه در داخل جعبهای در بسته، همراه با شیشهای با محتوای سم (که به یک اتم رادیواکتیو متصل است) قرار دارد.
اگر نیمهعمر اتم تمام شود، شیشه شکسته میشود و سم به بیرون نشت میکند و باعث مرگ گربه میشود؛ ولی درِ جعبه بسته است و بنابراین نمیتوان گفت گربه زنده است یا مرده. از اینرو، تا زمانیکه درِ جعبه باز شود، گربه میتواند در ۲ حالت قرار داشته باشد: زنده یا مرده. در فیزیک کوانتوم، به این مورد اصطلاحاً Superposition State میگویند، به شکلی که گربه هم زنده است و هم مرده!
صرفاً با مشاهدهٔ مشکل در کد، شما دست به ایجاد یکسری تغییرات میزنید که در این صورت یا نرمافزار اجرا میشود و یا کار نمیکند. بنابراین این نوع از باگها با عنوان Schroedinbug شناخته میشوند.
پیشنهاد میکنم مقاله الگوریتم رنک برین چیست و چگونه در طراحی سایت تاثیر دارد؟ را نیز مطالعه بفرمایید.
انواع باگهای دیگری هم وجود دارند که در قالب این ۴ دسته قرار نمیگیرند که از آن جمله میتوان به باگهای بهاصطلاح Aging-Related اشاره کرد که فقط زمانی رخ میدهند که نرمافزار برای مدت طولانی کار کند! در پایان هم ممکن است این سؤال برای شما پیش آمده باشد که اصلاً اصطلاح Bug (بهمعنی حشره) از چه زمانی در صنعت توسعهٔ نرمافزار باب شد.
تیم حرفه ای ساپرن دارای چندین سال سابقه درخشان در رابطه با طراحی سایتهای آژانس های مسافرتی و طراحی سایتهای رستوران، طراحی سایتهای فروشگاهی، طراحی سایتهای باربری، طراحی سایتهای شرکتی و ... میباشد, میتواند بهترین مشاوره را در زمینه طراحی و پیاده سازی و نگهداری و موفق نمودن وب سایت های دلخواه شما ارائه نماید.
همین الان با کارشناسان ساپرن تماس بگیرید.
0 نظر