منظور از سورس کد چیست ؟

به گفته ویکیپدیا:

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

درواقع به مجموعه کد هایی که یک برنامه را تشکیل می دهند سورس کد می گویند.

تصویری از بخشی از کد منبع یک برنامه
تصویری از بخشی از کد منبع یک برنامه


چطور میشه سورس کد برنامه هارو دید؟

خب نکته مهم اینجاست. به طور کلی برنامه ها به دو دسته متن باز (open source) و متن بسته (closed source) تقسیم می شوند. شما تنها می توانید تنها اقدام به مشاهده سورس کد برنامه های متن باز که قالبا هم رایگان می باشند نمایید و حتی در آن ها تغییرات ایجاد نمایید.

معمولا تمامی پروژه ها و برنامه های متن باز دنیا درون سایتی به نام github ثبت میشن. البته ممکن هم هست که نشن ولی برنامه نویسان حرفه ای تمامی برنامه های متن بازشون رو درون سایت github ثبت می کنند.

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

نکته: سورس کد هایی برای زبان های برنامه نویسی مختلف که توسط برنامه نویس ها به وجود آمده اند اما هنوز یک برنامه تبدیل نشده اند را فریم ورک می گوییم. در فریم ورک ما با تغییر و ویرایش کدهای یک یا گروهی دیگر از برنامه نویس ها برنامه خود را می سازیم به گونه ای که بخش زیادی از برنامه ما را کد های دیگر برنامه نویسان تشکیل داده است.

همچنین بخوانید: فریم ورک چیست

برای مشاهده سورس کد برنامه های متن بسته چندان راه ساده ای را ندارید بنابراین بهتره بیخیال این موضوع بشوید.

اما سورس کد را چه کسی می نویسد و برای چه ؟ سورس کد ها توسط برنامه نویس نوشته می شود و می توان نام آن را نقشه راه آن برنامه گذاشت، این نقشه راه به برنامه نویس کمک می کند تا بتواند خیلی سریع و روان به اتفافاتی که درون برنامه می افتد چیره شود.

درواقع سورس ها هم بدرد خود برنامه نویسی که پروژه را ساخته می خورد و هم بدرد برنامه نویسانی که قرار است در آینده روی این پروژه کار کنند. اگر متوجه این منظور نشدید مثال زیر را دنبال کنید.

فرض کنید برنامه نویسی به نام آقای “الف” در شرکتی کار می کند و وظیفه دارد که یک برنامه خوب و کاربردی مختص اعضای آن شرکت را بنویسد، آقای الف شروع می کنه به برنامه ریزی برای شروع پروژه و اینکه چطوری پروژه رو به هدفی که در سر داره نزدیک و نزدیک تر کنه.

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

در همین راستا که همه چیز داشت خوب پیش میرفت این آقای الف کرونا می گیره!(من راوی نمی دونم که شما کی این مطلب رو مطالعه می کنید ولی الان که من دارم این متن رو می نویسیم تاریخ ۹۹/۱۰/۱۷ هستش و کرونا هنوز تموم نشده و معلوم هم نیست کی تموم بشه!).

برگردیم سر اصل مطلب ، خب آقای الف کرونا می گیره و دیگه نمی تونه تا مدتی در شرکت کار کنه و حتی توانایی کارکردن در خونه رو هم نداره (به امید سلامتیش!).

این وسط حال و اوضای شرکت چطور می شه ؟ همه چی تعطیل میشه ؟ پروژه مربوطه زمین می خوره ؟ نه!

در واقع مدیر شرکت در سریع ترین حالت ممکن یک برنامه دیگه رو به مدت موقت وارد شرکت می کنه تا کار های شخص الف رو ادامه بده و به نتیجه برسونه!این آقای دوم رو آقای “ب” صدا میزنیم.

خب آقای “ب” به صورت موقت استخدام شده و نشسته پشت میز آقای الف که فرایند پیشرفت پروژه رو ادامه بده، همین که میشینه روی میز به مدیر مجموعه میگه که لطفا فایل سورس کد رو به من بدید.

مدیر مجموعه هم که غافل از همه چیزه و درمورد سورس کد چیزی نمی دونه!(البته این مثاله برای اینکه قضیه رو درک کنید).آقای مدیر به شخص ب می گه که من نمی دونم سورس کد کجاست و حتی اصلا نمی دونم که سورس کد چیه!

اینجا دقیقا همونجاییه که پروژه زمین می خوره!بله داستان ما تموم شد.

خالی بستم، بزارید حین مثال براتون جمله ای که چند دقیقه پیش فرمودم رو دوباره بازگو کنم :

سورس کد حین تکمیل یک پروژه توسط برنامه نویس نوشته می شود و می توان نام آن را نقشه راه آن برنامه گذاشت، این نقشه راه به برنامه نویس کمک می کند تا بتواند خیلی سریع و روان به اتفافاتی که درون برنامه می افتد چیره شود.

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

اما آیا سورس کد ها فقط به درد برنامه نویسان خارجی که وارد یک مجموعه میشن می خوره !؟ قطعا نه.

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

بعد از یک ماه آقای الف برمیگرده سر کار و کامپیوتر رو روشن میکنه و میره سر پروژش، آیا می دونه باید چیکار کنه ؟ میدونه روند پروژه تا کجا پیش رفته ؟ می دونه که هدف پروژه در ۱ ماه پیش چی بوده ؟ جواب تمامی این سوالات در پاراگراف بعدی :

نه نمی دونه!

الان وضعیت یه جوری شده که آدم یادش نیست شام چی خورده هدف برنامه یک ماه پیش که جای خودش رو داره!

اینجاست که برمیگردیم به همون جمله معروف خودم :

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

معنی سورس چیست