এই প্রকল্প সম্পর্কে

বইটির প্রকল্প নথি: এটি কীভাবে গড়া, কীভাবে তৈরি ও যাচাই করা হয়, এবং সত্যের উৎস কোথায়। বইটির জন্য দেখুন সূচিপত্র।

প্রকল্পের মানচিত্র

  • বই: locales/-এর অধীনে চারটি লোকেলে প্রকাশিত; দেখুন spec/locales.md। এই লোকেল, en-gb-oxendict/topics/ (৬৩টি ফাইল), en-gb-oxendict/front-matter/ এবং পর্ব ৯-এর পরিশিষ্ট হাতে লেখা উৎস; en-001, en-gb ও en-us এ থেকে উৎপন্ন।
  • সত্যের উৎস: সংগ্রহস্থলের মূলে spec/ (সাইটে প্রকাশিত নয়)। কাঠামো ঘোষিত spec/structure.md-এ, লেখার নিয়ম spec/conventions.md-এ এবং বানান spec/oxford-spelling.md-এ। বাকি সবকিছু এর সাথে মিলিয়ে তৈরি।
  • টুলিং: tools/localize.py অন্য তিনটি লোকেল উৎপন্ন করে; tools/gen_nav.py নেভিগেশন তৈরি করে; tests/validate.py স্পেক প্রয়োগ করে; justfile সবকিছু একসাথে বাঁধে।
  • অবদানকারীর নির্দেশনা: সংগ্রহস্থলের মূলে AGENTS.md এবং অবদান বিভাগের নির্দেশিকাগুলো।

তৈরি ও যাচাই

যাচাই স্যুট Python 3 এ চলে, অন্য কোনো নির্ভরতা বা নেটওয়ার্ক ছাড়া। কাজগুলো just দিয়ে চলে।

just test    # validate structure, style, links, and spec-vs-disk
just nav     # regenerate the generated navigation files
just check   # nav, then test
just stats   # topic and word counts

এই সংগ্রহস্থলে বইটির বিষয়বস্তু ও স্পেসিফিকেশন আছে। এটি আলাদা software-engineering-metrics.github.io সংগ্রহস্থল দিয়ে একটি ওয়েবসাইটে রূপ পায়।

এখানে স্পেসিফিকেশন-চালিত উন্নয়ন কীভাবে কাজ করে

স্পেসিফিকেশন আগে আসে। spec/structure.md বলে কোন বিষয়গুলো আছে এবং কীভাবে নম্বর দেওয়া। spec/conventions.md বলে সেগুলো কীভাবে লিখতে হবে। বিষয়গুলো দুটোকেই পূরণ করে লেখা। tools/gen_nav.py বিষয় থেকে নেভিগেশন উৎপন্ন করে, আর tests/validate.py ফলাফলকে স্পেকের বিপরীতে যাচাই করে। বিষয় ও স্পেক কখনো না মিললে পরীক্ষা ব্যর্থ হয়, যা তাদের আবার মিলিয়ে নেওয়ার সংকেত।

এটি বিচ্যুতি দূরে রাখে: স্পেক, বিষয়, উৎপন্ন নেভিগেশন ও পরীক্ষা সবাই একমত হলেই কেবল একটি পরিবর্তন “সম্পন্ন”।

জানার মতো নকশা সিদ্ধান্ত

  • সমতল, দশমিক-সংখ্যাযুক্ত বিষয়। ফাইলগুলো locales/<locale>/topics/PP-CC-slug.md, প্রতিটি লোকেলে একই slug। পর্ব একটি পূর্ণ সংখ্যা; বিষয় একটি দশমিক; N.0 পর্বের পরিচিতি। এতে স্থির শনাক্তকারী থাকে এবং টুল ডিরেক্টরি গাছ ছাড়াই সাজাতে ও গোষ্ঠীবদ্ধ করতে পারে।
  • একটি হাতে লেখা লোকেল, তিনটি উৎপন্ন। en-gb-oxendict অক্সফোর্ড বানান, বেশির ভাগ আন্তর্জাতিক মান সংস্থার গৃহশৈলী (দেখুন spec/oxford-spelling.md); en-001, en-gb ও en-us যান্ত্রিকভাবে এ থেকে উৎপন্ন, তাই অনুবাদ কখনো উৎস থেকে সরে না।
  • উৎপন্ন নেভিগেশন। সূচিপত্র, বিষয়সূচি পাতা ও বিষয়ভিত্তিক সূচি উৎপন্ন, তাই বিষয় থেকে কখনো সরে না।
  • অফলাইন, নির্ভরতা-মুক্ত পরীক্ষা। স্যুট শুধু স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করে, তাই CI ও প্রি-কমিট হুকসহ যেকোনো জায়গায় চলে।
  • ক্রস-রেফারেন্স সাধারণ টেক্সট থাকে। গদ্য বিষয়কে দশমিক সংখ্যা দিয়ে উল্লেখ করে (“দেখুন বিষয় ২.১”), স্পেক যেমন চায়; রেন্ডারিং সাইট সেই উল্লেখগুলো লিঙ্কে পরিণত করার দায়িত্বে।
  • কোনো এম-ড্যাশ নয়, নিয়মে এবং পরীক্ষায়। একটি সচেতন শৈলী পছন্দ, প্রয়োগ করা হয় যাতে বই বাড়লেও তা সত্য থাকে।
  • প্রতিটি মেট্রিক পরিবার নিজের হেরফেরের পথ চিহ্নিত করে। এটি টেমপ্লেটের একমাত্র নিয়ম যার সহোদর software-engineering-guide প্রকল্পে কোনো সমতুল্য নেই: এটি আছে কারণ এই বইয়ের পুরো বিষয়ই পরিমাপ, তাই পরিমাপের ঝুঁকি নিজেই প্রথম শ্রেণির হতে হবে, অন্তর্নিহিত নয়।

আরও পড়া

  • রচনা : বিষয় লেখা ও সম্পাদনা।
  • নেভিগেশন : উৎপন্ন ফাইল কীভাবে কাজ করে।
  • পরীক্ষা : পরীক্ষা কী যাচাই করে এবং ব্যর্থতা কীভাবে সারাতে হয়।
  • উদাহরণ : ছোট, বাস্তব উদাহরণ।
  • পরিবর্তন লগ : উল্লেখযোগ্য পরিবর্তনের ইতিহাস।