(প্রোডাকশন কোড ধরে)
আমি কিছুটা এগিয়ে যেতে ঝোঁক। আমি প্রোগ্রামগুলি "বোকা প্রুফ" তৈরি করার বিষয়ে লিখেছি, তবে আমি সর্বদা এটির যোগ্যতা রাখি না: আমি প্রচুর কোড লিখি যা অন্য লোকেরা দেখতে পাবে না বা তাদের সাথে কাজ করবে না (কমপক্ষে, এটি প্রত্যাশা এটি লেখা হয়) is আমিআমি যে নির্বোধ সে ক্ষেত্রে নিজেকে রক্ষা করার চেষ্টা করছি। যখন আপনার প্রোগ্রামটি আপনার জন্য সমস্যাগুলি সনাক্ত করে তখন এটি একটি ভাল জিনিস এবং সমস্যাটি এত সহজ করা হয়েছে যে এটি একটি ত্রুটি, এবং এর উত্স রয়েছে তা বেশ স্পষ্ট। সত্য কথাটি, আপনি যখন কোনও প্রোগ্রাম লেখেন তখন প্রয়োগের বিবরণগুলি সুস্পষ্ট (যদি আপনি এটি অকাল প্রয়োগ না করে) তবে তাদের ক্লায়েন্টদের জন্য বিমূর্ততা এবং ত্রুটি প্রতিরোধী হওয়া উচিত (এমনকি মডিউল লোকালটি উপস্থিত থাকলেও)। কারণগুলি হ'ল প্রোগ্রামগুলি খুব জটিল হয়ে যায়। কখনও কখনও আপনি সমস্যাগুলি আলাদা করতে পারেন, তবে সব সময় নয়। আপনি যদি নিজের উপাদানগুলি খুব কঠোর, সাধারণ, ভাল এনক্যাপসুলেটেড এবং ইডিয়ট প্রুফ রাখেন তবে সেগুলি ভাল স্কেল করার প্রবণতা রাখে এবং বেশিরভাগ ত্রুটিগুলি শিপিংয়ের আগে সনাক্ত করা যায়। এটি পুনরায় ব্যবহার করা সহজ, এবং আপনার আরও আস্থা এবং প্রোগ্রামগুলির পুনরায় ব্যবহার করার একটি সহজ সময় রয়েছে, পাশাপাশি, আপনি যে জটিল প্রোগ্রামগুলি লিখেছেন সেগুলি প্রোগ্রাম থেকে কিছুটা দূরে থাকার পরে আরও জটিল হয়ে পড়ে (এমনকি আপনার কাছেও)। আপনি যখন এটি 6 মাসে পড়েন, ইডিয়ট প্রুফ সংস্করণের তুলনায় এটি বুঝতে এবং ডিবাগ করতে একটি অযৌক্তিক সময় নিতে পারে। যদি কোনও উপাদান একটি ব্রেকিং পরিবর্তনের সাথে পরিচয় করিয়ে দেয়, তা অন্যথায় দীর্ঘ সময়ের জন্য সনাক্ত করা যেতে পারে। প্রোগ্রামগুলি জটিল; আপনি সেই বাস্তবতা থেকে বাঁচতে পারবেন না, তবে আপনি এটি নির্বোধ প্রমাণ করতে পারেন, যা কিছু ভুল হয়ে যাওয়ার সময় বা যখন এটি পুনরায় ব্যবহার করা বা পরিবর্তন করতে হবে তখন আপনার জীবনকে আরও সহজ করে তুলবে। সুতরাং, ইডিয়ট প্রুফ পদ্ধতির মানে হল আপনার সফটওয়্যারটি আপনার জুনিয়র বা দলে আরও নতুন ব্যক্তিরা বুঝতে পারবেন, পুনরায় ব্যবহার করতে পারবেন বা রক্ষণাবেক্ষণ করতে পারবেন (কেবল আপনার মতো ভাল / অভিজ্ঞ কেউ নয়)। প্রতিস্থাপন একটি পৃথক উদ্বেগ: লোকেরা যদি আপনার প্রোগ্রামগুলির সাথে কাজ করতে পছন্দ করে তবে আপনি একটি ভাল কাজ করছেন - ডন ' প্রতিস্থাপন সম্পর্কে চিন্তা করবেন না। অবশ্যই, আমি এমন পরিস্থিতিতে নিয়ে আসতে পারি যেখানে অজ্ঞাতনামূলক প্রোগ্রামগুলি আপনার কাজ বাঁচাতে পারে, তবে অন্যরা ব্যবহার করতে পারে এবং রক্ষণাবেক্ষণ করতে পারে এমন একটি ভাল প্রোগ্রাম লেখার বিষয়টি কম স্পষ্টতই কম হয় (অন্যের সংলাপগুলি দেখুন)। আমি যদি নিজেকে এমন কিছু লিখতে দেখি যা বোকামি প্রমাণ নয়, তবে আমি এটি ঠিক করার চেষ্টা করি।
পরিস্থিতি বাদে, যেখানে months মাস বিরতি দেওয়ার পরে কোনও প্রকল্প চালিয়ে যাওয়ার জন্য আপনার নিজের জন্য কিছু ডকুমেন্টেশন প্রয়োজন সেখানে বিকাশকারী এবং সফ্টওয়্যার সংস্থার মধ্যে এখানে আগ্রহের স্পষ্ট বিরোধ রয়েছে বলে মনে হয়।
আপনি যখন সুপ্ত বাস্তবায়নগুলি ঘুরে দেখেন তখন আপনি সত্যিকার অর্থে কোনও ধারণা রাখেননি। আপনি যখন সত্যই অভিজ্ঞ হন, তখন সমস্যাটি আরও সহজ কারণ আপনি যে পদ্ধতিটি ব্যবহার করেন সেগুলি বা পদ্ধতির উপর আপনি বেশি নির্ভর করতে পারেন। এটি অবশ্য ধরে নেয় যে এই পদ্ধতিগুলি অবিস্মরণীয়। যদিও ডকুমেন্টেশনটি দুর্বল হতে পারে তবে আপনার বাস্তবায়নে আপনাকে এখনও প্রতিরক্ষামূলক হতে হবে (উদাহরণস্বরূপ আপনি এই দৃশ্যে NULL পাস করার চেয়ে ভাল জানেন - সেই শর্তটি পরীক্ষা করুন)।
সুতরাং প্রোগ্রামার হিসাবে, আপনি কি সত্যই চমৎকার ডকুমেন্টেশন এবং প্রত্যেকের জন্য সহজেই পঠনযোগ্য কোড লিখতে চান; বা কোডটি এবং ডকুমেন্টেশনগুলি এমনভাবে লেখা উচিত যাতে এটি কাজ করে এবং আপনি নিজে এটি বুঝতে পারেন তবে অন্য কোনও ব্যক্তির এটি বুঝতে সমস্যা হতে পারে?
আমি ইডিয়ট প্রুফ পদ্ধতির প্রস্তাব দিচ্ছি, যা বাস ফ্যাক্টর পদ্ধতির চেয়ে আরও স্পষ্ট এবং আরও ত্রুটি প্রতিরোধী। আপনার প্রোগ্রাম এবং ডকুমেন্টেশনগুলি এমনভাবে লিখুন যাতে এটি কোনও প্রকল্পের বাইরের কেউ সহজেই বুঝতে পারে - এটি আপনার পক্ষেও ভাল। এটি করা আপনার সংস্থা এবং দলের কাছে আপনার মান বাড়িয়ে তুলবে, তারা আপনাকে প্রতিস্থাপন করতে চাইবে না ।