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