۰۸-تير-۱۳۸۵, ۱۶:۵۰:۰۳
Mamad2003 نوشته است:ببینید از نظر من استفاده کردن یا نکردن از goto بستگی به مهارت و تجربه خود برنامه نویس داره !آها این شد یه تحلیل درست
همون طور که گفتم تمام زبانهای برنامه نویسی سطح بالا راهکارهای بهتری رو برای پرش های مختلف در سطح برنامه ارائه می کنند که در مقابلش وجودیت goto رو بسیار کم رنگ می کنه !
اگر کسی بسیار تازه کار باشه ( یعنی با امکانات زبان مربوطه آشنا نباشه ) یا نتونه یه کد دقیق توی یه زبان برنامه نویسی بصورتی رو کاملا کارا بنویسه شاید برای سادگی ، در تبدیل منطقش به الگوریتم و برنامه ، از goto استفاده کنه . خیلی اوقات هم ممکنه برنامه نویسی از goto برای راحت کردن فهم برنامه اش استفاه کنه مثلا نخواد یا نتونه برنامه رو بشکل پیچیده بازگشتی یا Recursive بنویسه و یا حتی نتونه یه راه حل مشخص بدون goto براش پیدا کنه ، اونوقته که میاد و از goto استفاده می کنه ! در کل من خیلی به ندرت از goto استفاده می کنم و کرده ام و اکثر اوقات نیازی به اون نمی بینم ! اما بعضی اوقات همون جور که آقا جواد هم گفتند در کدی مثل On Error Goto دیگه اجتناب ناپذیره و باید استفاده بشه چون راه دیگه ای نداریم . بطور کل برنامه نویسان نست به Goto خیلی جبهه گیری می کنند و استفاده از اون رو یه برنامه نویسی درست نمی دونن اما بقول جمله ای از کتاب ++VC آقای Ivor Horton ، کلمه کلیدی Goto و استفاده از اون نمیتونه برنامه نویسی بدی باشه اما معمولا برنامه نویسان از اون دوری می کنند و استفاده از اون رو درست نمی دونند !
همون طور که گفتم goto مدل مشابه سطح پایین jump معمولی هست و از سطح پایین به سطح بالا ارث رسیده اما با وجود امکانات سطح بالا تقریبا بی مصرفه مگر در مواردی که ذکر کردم !
من می خواهم این طرز فکر اشتباه نسبت به یه دستور رو از سر بسیاری
از دوستان که اون رو مضر قلمداد می کنن بیرون کنم و بهشون نشون بدم که
استفاده از این دستور باعث کاهش ارزش های برنامه نمی شه ( الته از راه
گفتگو و اثبات نه زور

چون یکی از معیار های ( به نظر من ) اشتباه مدارس و دانشگاه های
ایران و خیلی از افراد در ارزش گذاری بر برنامه استفاده نرکدن از اینگونه
دستور هاست !