কোড প্রকল্প সম্পর্কে

এই পৃষ্ঠায় Google সিজন অফ ডক্সের জন্য গৃহীত প্রযুক্তিগত লেখার প্রকল্পের বিশদ বিবরণ রয়েছে৷

প্রকল্পের সারসংক্ষেপ

ওপেন সোর্স সংস্থা:
কোড সম্পর্কে
কৌশলী লেখক:
অয়নসিনহা
প্রকল্পের নাম:
স্ক্যানকোড-টুলকিটে কমান্ড লাইন বিকল্পগুলির জন্য রেফারেন্স এবং aboutcode.readthedocs.io-এ AboutCode ডকুমেন্টেশনের কাঠামো পুনর্গঠন করুন
প্রকল্পের দৈর্ঘ্য:
স্ট্যান্ডার্ড দৈর্ঘ্য (3 মাস)

প্রকল্প বর্ণনা

[ 1. স্ক্যানকোড-টুলকিট কমান্ড লাইন বিকল্প ]

স্ক্যানকোড-টুলকিটে স্ক্যানটি কীভাবে সম্পাদন করা হয়, আউটপুট বিন্যাস এবং পোস্ট-স্ক্যান প্লাগইনগুলির মতো অন্যান্য বিকল্পগুলি কাস্টমাইজ করার জন্য অনেকগুলি কমান্ড লাইন বিকল্প রয়েছে। এই বিকল্পগুলির ব্যাখ্যা করার জন্য বর্তমানে সঠিক ডকুমেন্টেশন নেই এবং শুধুমাত্র "--help" বা "-h" পতাকার মাধ্যমে উপলব্ধ। এই প্রকল্পের লক্ষ্য সম্পূর্ণ ডকুমেন্টেশন তৈরি করা যা ব্যাখ্যা করে:

[ 1. কমান্ড লাইনের মাধ্যমে উপলব্ধ সমস্ত বিকল্প ]

  • লক্ষ্য: কমান্ড লাইনের মাধ্যমে সম্ভাব্য সমস্ত বিকল্পের একটি সম্পূর্ণ তালিকা।
  • বেসিক ওভারভিউ: প্রথমত, আউটপুটের উদাহরণ সহ ডিফল্ট স্ক্যান বিকল্পগুলি আলোচনা করা হয়েছে। কিভাবে স্ক্যান সঞ্চালিত হয় তার একটি সংক্ষিপ্ত গ্রাফিক/বর্ণনা।
    অতঃপর, এই ডিফল্ট আচরণ অন্যান্য বিকল্পগুলি কীভাবে স্ক্যান এবং আউটপুট পরিবর্তন করে তার একটি রেফারেন্স হিসাবে কাজ করে।
    এগুলি বিশদভাবে আলোচনা করা হবে এবং পরবর্তী বিভাগে উল্লিখিত হিসাবে নিম্নলিখিত তথ্য থাকবে৷

[ 2. ভার্সনিং স্ট্রাকচার শুরু করুন ]

  • লক্ষ্য: ক্রস-রিলিজ বিকল্প/এপিআই এবং ডকুমেন্টেশন পরিবর্তনগুলি সঠিকভাবে বজায় রাখতে একটি সংস্করণ সিস্টেম শুরু করুন।
  • সমস্যা: বর্তমানে উইকি এবং ReadTheDocs পৃষ্ঠাগুলির ডকুমেন্টেশনগুলি পুরানো প্রকাশের জন্য এবং বড় পুনর্গঠনের প্রয়োজন।
  • বেসিক ওভারভিউ: স্ক্যানকোড-টুলকিটের যে অংশগুলি আপডেট করা হয়েছে/সংস্করণে আপডেট করা যেতে পারে তা হল
  • কমান্ড লাইন বিকল্প
  • এপিআই
  • ডকুমেন্টেশন (শুরু করতে হবে) কমান্ড লাইন বিকল্প এবং API সংস্করণ এবং রিলিজে পরিবর্তিত হয়, এবং ডকুমেন্টেশনও অনুসরণ করতে হবে, অথবা এটি ব্যবহারকারীদের জন্য ব্যাপক বিভ্রান্তি তৈরি করবে। কমান্ড লাইন ইউটিলিটি [ --help ] ইতিমধ্যেই বিকল্পগুলির কোনও পরিবর্তনের জন্য আপডেট করা হয়েছে এবং ডকুমেন্টেশনে সংস্করণের প্রতিলিপি করতে ব্যবহার করা যেতে পারে।

[৩. কীভাবে এই বিকল্পগুলি বিভিন্ন ক্ষেত্রে ব্যবহার করা যেতে পারে]

  • লক্ষ্য: এই বিভাগে স্ক্যানকোড-টুলকিটের স্ক্যান ফলাফলগুলি বিভিন্ন কারণে কীভাবে ব্যবহার করা যেতে পারে এবং স্ক্যানকোড-টুলকিট বিকল্পগুলি যা এই ধরনের কার্যকারিতা প্রদান করে তার একটি প্রাথমিক সারাংশ প্রদান করবে।
  • বেসিক ওভারভিউ: এই বিভাগটি বিভিন্ন ব্যবহারের ক্ষেত্রে দৃশ্যের উদাহরণ দেয় এবং সেই পরিস্থিতিতে কোন বিকল্পগুলি সুপারিশ করা হয়।
  • দ্রষ্টব্য: স্ক্যানকোড-টুলকিটের বিভিন্ন ব্যবহারের ক্ষেত্রে ইনপুট এবং নির্দেশকের ক্ষেত্রে এই অংশটির জন্য পরামর্শদাতার কাছ থেকে গুরুত্বপূর্ণ সহায়তা প্রয়োজন।

[ 4. স্ক্যান এবং আউটপুটে এই বিকল্পগুলি কী পরিবর্তন করে ]

  • লক্ষ্য: এই বিভাগটি স্ক্যানকোড-টুলকিটের স্ক্যান ফলাফলগুলি বিভিন্ন কারণে কীভাবে ব্যবহার করা যেতে পারে তার একটি প্রাথমিক সারাংশ এবং অ্যাবাউটকোড টুলগুলি প্রদান করবে যা এই ধরনের কার্যকারিতা প্রদান করে।
  • মৌলিক ওভারভিউ: বিকল্পগুলি কীভাবে স্ক্যান করা হয় তার আচরণ পরিবর্তন করে। একটি মৌলিক ডিফল্ট কেস লিডিং সেকশনে চিত্রিত করা হবে [ 1. কমান্ড লাইনের মাধ্যমে উপলব্ধ সমস্ত বিকল্প ] এবং এই বিভাগটি এই ডিফল্ট পরিস্থিতিতে যে পরিবর্তনগুলি নিয়ে আসে তার তুলনা করবে।

[ 5. আউটপুট ফরম্যাট এবং তাদের উদাহরণ ]

  • লক্ষ্য: এই বিভাগটি স্ক্যানকোড-টুলকিটের স্ক্যান ফলাফলগুলি বিভিন্ন কারণে কীভাবে ব্যবহার করা যেতে পারে তার একটি প্রাথমিক সারাংশ এবং অ্যাবাউটকোড টুলগুলি প্রদান করবে যা এই ধরনের কার্যকারিতা প্রদান করে।
  • বেসিক ওভারভিউ: স্ক্যানকোড-টুলের বিভিন্ন আউটপুট ফর্ম্যাট নির্দিষ্ট করার জন্য পতাকা রয়েছে যেখানে স্ক্যান ফলাফল তৈরি করা হবে। এইগুলো -
    এই অংশ হবে
  • আউটপুট ফরম্যাটগুলি বিস্তারিতভাবে ব্যাখ্যা করুন
  • আউটপুট ফরম্যাটের উদাহরণ দিন
  • আউটপুট বিন্যাস এবং এর ব্যবহারের সাথে সম্পর্কিত অন্যান্য লিঙ্ক দিন
  • কিভাবে স্ক্যান ফলাফল আউটপুট ফাইল সংরক্ষণ করা হয়. এটি কীভাবে এই বিভিন্ন ফর্ম্যাটগুলি তৈরি হয় তার সাথেও লিঙ্ক করে, যা [ 2. কোড স্ক্যানিং ব্যাখ্যা করে আলোচনা ] এ ব্যাখ্যা করা হবে৷

[6. স্ক্যানকোড আউটপুট ফরম্যাটের ব্যবসায়িক ব্যবহার]

  • লক্ষ্য: স্ক্যানকোড আউটপুট ফর্ম্যাটগুলির ব্যবসায়িক ব্যবহারের ক্ষেত্রে ব্যাখ্যা করুন GSoD ধারণা তালিকায়, স্ক্যানকোড আউটপুট ফর্ম্যাটগুলি একটি রেফারেন্স ধারণা হিসাবে উল্লেখ করা হয়েছে৷ এই বিভাগটি একই প্রয়োগ করে।
  • দ্রষ্টব্য: স্ক্যানকোড-টুলকিটের বিভিন্ন ব্যবসায়িক ব্যবহারের ক্ষেত্রে ইনপুট এবং নির্দেশকের ক্ষেত্রে এই অংশটির জন্য পরামর্শদাতার কাছ থেকে গুরুত্বপূর্ণ সহায়তা প্রয়োজন।

[ 7. আরও বিশ্লেষণের জন্য অন্যান্য AboutCode প্রকল্পগুলি কীভাবে এই আউটপুটগুলি ব্যবহার করে ]

  • লক্ষ্য: এই বিভাগটি স্ক্যানকোড-টুলকিটের স্ক্যান ফলাফলগুলি বিভিন্ন কারণে কীভাবে ব্যবহার করা যেতে পারে তার একটি প্রাথমিক সারাংশ এবং অ্যাবাউটকোড টুলগুলি প্রদান করবে যা এই ধরনের কার্যকারিতা প্রদান করে।
  • মৌলিক ওভারভিউ:
  • স্ক্যানকোড-ওয়ার্কবেঞ্চ এই অংশটি ডেস্কটপ অ্যাপের সাহায্যে ফলাফলের ভিজ্যুয়ালাইজিং ব্যাখ্যা করে এবং একই বিষয়ে আরও সমর্থনের জন্য স্ক্যানকোড-ওয়ার্কবেঞ্চ ডকুমেন্টেশনের নির্দেশক। প্রয়োজনে স্ক্যানকোড-ওয়ার্কবেঞ্চে প্রয়োজনীয় ডকুমেন্টেশন যোগ করবে।
  • ডেল্টাকোড কিভাবে স্ক্যানকোড ফলাফল দুটি কোডবেসের মধ্যে ফাইল স্তরের পার্থক্য নির্ধারণ করতে ডেল্টাকোড দ্বারা নেওয়া হয়।

[ 2. AboutCode ডকুমেন্টেশনের কাঠামো পুনর্গঠন করুন]

এই অংশে Aboutcode ডকুমেন্টেশনে অনেক পরিবর্তন রয়েছে

[ 1. সংস্করণ সিস্টেম ]

[ 1. Scancode-Toolkit Command Line Options -> 2. Initiate Versioning Structure]-এ কমান্ড লাইন বিকল্পগুলির সংস্করণ করার বিষয়টি উল্লেখ করা হয়েছে। ডকুমেন্টেশনের অন্যান্য অংশগুলির জন্যও এটি প্রয়োজনীয় যেটিতে সংস্করণ নির্দিষ্ট কমান্ড/তথ্য রয়েছে যা অন্যথায় বিভ্রান্তি তৈরি করবে।

[ 2. ডকুমেন্টেশন স্ট্যান্ডার্ড এবং টেস্ট সেট করা ]

ডকুমেন্টেশনে ইতিমধ্যেই ট্রাভিস-সিআই-এর মাধ্যমে ক্রমাগত ইন্টিগ্রেশন সহ স্পিনক্স-বিল্ড (সমস্ত পৃষ্ঠা তৈরি করে এবং স্ফিনক্স সিনট্যাক্স ত্রুটিগুলি পরীক্ষা করে) এবং লিঙ্ক চেক (ডকুমেন্টেশন থেকে অন্যান্য ওয়েবপৃষ্ঠাগুলির সমস্ত লিঙ্ক পরীক্ষা করে) পরীক্ষা রয়েছে। (এই পুল অনুরোধ #17 এ আমার দ্বারা যোগ করা হয়েছে) এখন এটি পুনর্গঠিত পাঠ্য এবং অন্যান্য মানগুলিতে নির্দিষ্ট লিন্টিংয়ের জন্য আরও চেক করা দরকার। এটি পুনর্গঠিত পাঠ্য-লিন্টের মাধ্যমে অর্জন করা যেতে পারে তবে আরও গবেষণার প্রয়োজন এবং এটি আমার GSoD প্রকল্পের একটি অংশ হিসাবে করা হবে।

[ 3. একটি "শুরু করা" বিভাগ যোগ করা ]

এটি নতুনদের জন্য একটি প্রারম্ভিক বিভাগ হিসাবে কাজ করবে এবং এতে Aboutcode প্রকল্পগুলি শুরু করার জন্য সবচেয়ে মৌলিক এবং গুরুত্বপূর্ণ নথিগুলির একটি সংকলন থাকবে৷ প্রতিটি Aboutcode প্রকল্পে স্ক্যানকোড-টুলকিট, স্ক্যানকোড-ওয়ার্কবেঞ্চ, ডেল্টাকোড এবং অন্যান্য সহ এই বিভাগটি থাকবে।

[ 4. 4টি নথির কার্যাবলী অনুসারে পুনর্গঠন ]

বিদ্যমান ডকুমেন্টেশনটি স্পষ্টভাবে 4টি নথির ফাংশনে গঠন করা হয়নি - টিউটোরিয়াল, কিভাবে করতে হবে, রেফারেন্স এবং ব্যাখ্যা। আমি সেগুলিকে সেই অনুযায়ী গঠন করার প্রস্তাব দিই, যা প্রয়োজন তা আরও তথ্য/ব্যাখ্যা/পয়েন্টার যোগ করে। এটি সমস্ত AboutCode প্রকল্প এবং তাদের ডকুমেন্টেশনের জন্য ধারণ করে। নীচে স্ক্যানকোড-টুলকিট ডকুমেন্টেশন পুনর্গঠনের দুটি উদাহরণ রয়েছে যা আমি প্রস্তাব করছি এবং এই প্রকল্পটি চালিয়ে যেতে চাই৷ বাকি ডকুমেন্টেশনেও অনুরূপ পরিবর্তন করা হবে।

[ 5. উন্নয়ন পৃষ্ঠার পুনর্গঠন (স্ক্যানকোড-টুলকিট)]

কোড/এপিআইগুলিকে আরও বিকাশকারী বন্ধুত্বপূর্ণ করতে আরও তথ্য যোগ করা যেতে পারে। উপরের [ 2. কোড স্ক্যানিং ] বিভাগের ব্যাখ্যায় আলোচনার লিঙ্ক থাকতে পারে। এটি স্ক্যান করার জন্য যে কোডটি ব্যবহার করে তার সাথে স্ক্যানটি কীভাবে কাজ করে তার ব্যাখ্যাকে লিঙ্ক করে। যেমন এই ফোল্ডারগুলিতে স্ক্যানকোড-টুলকিটের বিভিন্ন অংশ রয়েছে, স্ক্যানকোড কীভাবে কাজ করে সে বিষয়ে আলোচনার সাথে একত্রে এপিআইগুলির সাথে তাদের ব্যক্তিগত ব্যবহার বিশদভাবে বর্ণনা করা যেতে পারে।

  • [ক্লুকোড: লাইসেন্স, কপিরাইট, ইউআরএল, ইমেল স্ক্যান করার জন্য প্লাগইন]
  • [সাধারণ কোড: সহায়ক ক্লাস এবং ফাংশন]
  • [এক্সট্রাক্টকোড: বিভিন্ন আর্কাইভ ফরম্যাট বের করে]
  • [ ফরম্যাটেডকোড : বিভিন্ন আউটপুট ফাইল ফরম্যাটের জন্য আউটপুট ফরম্যাটিং ]
  • [ লাইসেন্স কোড : লাইসেন্স সনাক্তকরণ কোড ]
  • [ প্যাকেজ কোড : বিভিন্ন প্যাকেজ ফরম্যাট পার্সিং ]
  • [ প্লাগইনকোড : প্লাগইন আর্কিটেকচারের জন্য ক্লাস ]
  • [সারাংশ কোড: শনাক্ত করা লাইসেন্সে স্ক্যানের সংক্ষিপ্ত বিবরণ দেয়]
  • [টেক্সটকোড: টেক্সট পার্সিং পরিচালনা করে]
  • [টাইপকোড: ফাইল টাইপ নির্ধারণ পরিচালনা করে]
  • [স্ক্যানকোড: স্ক্যানকোড করার জন্য CLI এবং API, মূল অংশ]

এই উপধারায় স্ক্যানকোড-টুলকিটের এই অংশগুলির উপর সাবসেকশনে সেই অনুযায়ী বিস্তারিত তথ্য/এপিআই থাকবে। উন্নয়ন নির্দেশিকা অন্য পৃষ্ঠায় বা ছোট উপধারা সহ অন্য বিভাগে থাকবে।

[ 6. FAQ পৃষ্ঠার পুনর্গঠন (Scancode-Toolkit)]

বর্তমানে প্রায়শই জিজ্ঞাসিত প্রশ্ন পৃষ্ঠায় এমন প্রশ্ন রয়েছে যেগুলির আরও ভাল উত্তর দেওয়া যেতে পারে এবং আলাদাভাবে কিভাবে করতে হবে, টিউটোরিয়াল এবং রেফারেন্স ডকুমেন্ট হিসাবে গঠন করা উচিত।

  • স্ক্যানকোড কিভাবে কাজ করে? এই সমস্যাটি [ 2. কোড স্ক্যানিং ব্যাখ্যাকারী আলোচনা ] এ উল্লেখ করা হয়েছে এবং আরও বিশদ বিবরণে একটি সম্পূর্ণ আলাদা বিভাগ হবে।
  • বর্ধিত সনাক্তকরণের জন্য নতুন লাইসেন্সের নিয়ম কীভাবে যুক্ত করবেন? বিদ্যমান হাউ-টু-এর উন্নতিতে এই সমস্যাটি ইতিমধ্যেই আলোচনা করা হয়েছে, ডকুমেন্টেশন সেখানে সরানো হবে।
  • একটি নতুন লাইসেন্স সনাক্তকরণ নিয়ম কিভাবে যোগ করবেন? এটি আলাদাভাবে আরেকটি "কিভাবে করবেন" পোস্টে তৈরি করা যেতে পারে এবং বিস্তারিতভাবে বলা যেতে পারে।
  • উন্নয়নের সাথে কিভাবে শুরু করবেন? ইতিমধ্যে একটি পৃথক উন্নয়ন পৃষ্ঠা রয়েছে এবং তথ্যগুলি অনেক বেশি ওভারল্যাপ করে৷ উন্নয়ন পৃষ্ঠার পুনর্গঠন ইতিমধ্যে উপরে আলোচনা করা হয়েছে.
  • একটি নতুন রিলিজ কাটার পদক্ষেপগুলি এটি একটি পৃথক "কীভাবে একটি নতুন রিলিজ কাটতে হয়" এ রূপান্তরিত হতে পারে৷
  • আরও প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী খুঁজুন যা প্রকল্প সম্পর্কে জেনেরিক প্রশ্নের উত্তর দেয় এবং "কীভাবে"/"টিউটোরিয়াল" বিভাগে পড়ে না।