چطوری سورس بخونیم؟ دوره بلاکچین و رمزارزها و بیت کوین – جلسه ۰۰۷ – خوندن سورس بیت کوین
این اصطلاح «چطوری سورس بخونیم» نسبتا غیردقیقه. در واقع هر سورسی یک جور است و هر آدمی یه روشی برای شروع به خوندنش داره. بعضی ها از برنامه های تحلیل استفاده می کنم و بعضی ها از اولین تابع شروع می کنین و بعضی ها با سرچ و رسیدن به بخش مورد نظرشون سعی میکنن یه درک عمومی از کد پیدا کنن و بعد بخش های مورد نظر رو بخونن و هی عمیق تر بشن. من معمولا روش سوم رو دارم. اصطلاحا می گم در مواجهه با یک تابلو، باید اول کلش رو نگاه کرد و لذت برد و فهمید و بعد دقیق شد در جزییات. یکی دیگه شاید فکر کنه روش بهتر خوندن لوپ اصلی یا شروع برنامه است و دیدن اینکه در کل داره چیکار می کنه.
به هرحال، در این قسمت از مجموعه دوره بلاکچین و رمزارزها و بیت کوین (که لایو استریم می شه و توی توییتر و کانال تلگرامم خبرش رو می زنم) رسیدیم به جایی که می خوایم اولین نگاه رو به سورس بیت کوین بندازیم و چند تا سوال بچه ها رو از روش جواب بدیم. سوال ها اینها هستن:
- یک نود که برای اولین بار اجرا می شه، از کجا می فهمه چطوری باید به شبکه وصل بشه؟
- ماینر چطوری بلاک رو از شبکه می گیره و سعی می کنه اونو ماین کنه؟
- اگر کسی هی روی شبکه چرت و پرت بفرسته و انرژی بقیه رو بیخودی حروم کنه، چی می شه؟
معلومه که این بالا و پایین کردن سریع کد به معنی «فهم» کند تیست بلکه بحث ریختن ترس است (: و پیدا کردن یک نقطه شروع. اکثر چیزهای سخت، سختن چون شروعشون رو عقب می ندازیم چون هی به کلش نگاه می کنیم و حاضر نیستیم از یه جای ریزش وارد بشیم. دقیقا به یک کوه فکر کنین که از دور نگاهش میکنین و می گین «واقعا چطوری باید از این رد شد؟» ولی وقتی قدم تو راه می ذارین و ادامه می دین، یکهو می بینین که رد شدین. به نظرم بهترین مثاله برای خوندن یه سورس بزرگ.
اینجا در واقع باید ویدئو می بود ولی چون ویرگول از ویدئو پشتیبانی نمی کنه، بیاین به مطلبی از سایت جادی.نت که حاوی این ویدئو است یا از لینک های پایین برین توی یوتوب و تلگرام و ویدئو رو پیدا کنین.
معلومه که برام خوشحال کننده است اگر بحث رو دوست دارین، عضو کانال های یوتوب و آپارات و توییچ بشین (:
مطلبی دیگر از این انتشارات
آموزش کد نویسی تمیز Clean Code PHP (متغیرها: بخش ۲)
مطلبی دیگر از این انتشارات
داکر برای دات نت کار ها - قسمت 3 (اجرای Hello World)
مطلبی دیگر از این انتشارات
طراحی، خودکارسازی و جمعآوری نتایج تست پروژه gREST