সহজেই যুক্তিযুক্ত হওয়া একটি সাংস্কৃতিকভাবে নির্দিষ্ট শব্দ, যার কারণেই এটি শক্ত উদাহরণগুলির সাথে আসতে খুব কঠিন। এটি এমন একটি শব্দ যা যুক্তিযুক্ত লোকদের জন্য নোঙ্গর করা হয়।
"পক্ষে সহজ যুক্তি" আসলে একটি খুব স্ব বর্ণনামূলক বাক্যাংশ। যদি কেউ কোডটির দিকে তাকিয়ে থাকে এবং কীভাবে এটি যুক্তি করতে চায় তবে এটি সহজ =)
ঠিক আছে, এটা ভেঙে। আপনি যদি কোডটির দিকে তাকিয়ে থাকেন তবে আপনি সাধারণত এটি কিছু করতে চান। আপনি এটি নিশ্চিত করতে চান যে এটি যা করা উচিত বলে মনে করে তা তা করে। সুতরাং কোডটি কী করা উচিত সে সম্পর্কে আপনি তত্ত্বগুলি বিকাশ করেন এবং তারপরে আপনি কোডটি কেন কার্যত কাজ করে তা তর্ক করার চেষ্টা করার বিষয়ে যুক্তি প্রদর্শন করেন। আপনি একটি মানুষের মতো কোড সম্পর্কে চিন্তা করার চেষ্টা করুন (কম্পিউটারের মতো নয়) এবং কোড কী করতে পারে সে সম্পর্কে যুক্তি যুক্তিযুক্ত করার চেষ্টা করুন।
"সহজ কারণ হিসাবে" সবচেয়ে খারাপ ক্ষেত্রে যখন কোডটি কী করে তার কোনও ধারণা দেওয়ার একমাত্র উপায় হ'ল সমস্ত ইনপুটগুলির জন্য টিউরিং মেশিনের মতো কোডের মাধ্যমে লাইন-লাইন যেতে হয়। এই ক্ষেত্রে, কোড সম্পর্কে কোনও যুক্তি দেওয়ার একমাত্র উপায় হ'ল নিজেকে কম্পিউটারে পরিণত করা এবং এটি আপনার মাথায় চালিত করা। এই নিকৃষ্টতম উদাহরণগুলি অস্পষ্ট প্রোগ্রামিং প্রতিযোগিতায় সহজেই দেখা যায় যেমন PERL এর এই 3 লাইন যা আরএসএ ডিক্রিপ্ট করে:
#!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
$/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
সহজ যুক্তি হিসাবে, আবার, শব্দটি অত্যন্ত সাংস্কৃতিক। আপনাকে বিবেচনা করতে হবে:
- যুক্তির কী দক্ষতা আছে? কত অভিজ্ঞতা?
- কোডটি সম্পর্কে যুক্তিবিদকে কী ধরণের প্রশ্ন থাকতে পারে?
- কতটা যুক্তিযুক্ত হওয়া দরকার?
এর প্রত্যেকটিই "সম্পর্কে সহজভাবে যুক্তি" আলাদাভাবে প্রভাবিত করে। উদাহরণস্বরূপ যুক্তির দক্ষতা গ্রহণ করুন। আমি যখন আমার সংস্থায় শুরু করেছি, তখন ম্যাটল্যাবে আমার স্ক্রিপ্টগুলি বিকাশ করার পরামর্শ দেওয়া হয়েছিল কারণ এটি "পক্ষে যুক্তিযুক্ত সহজ"। কেন? ঠিক আছে, সংস্থার প্রত্যেকে ম্যাটল্যাব জানত। আমি যদি অন্য কোনও ভাষা বাছাই করি তবে কারও পক্ষে আমাকে বুঝতে পারা আরও শক্ত। কিছু মনে রাখবেন না যে ম্যাটল্যাবের পাঠযোগ্যতা কিছু কাজের জন্য নৃশংস , কেবল কারণ এটি তাদের জন্য ডিজাইন করা হয়নি। পরে, আমার ক্যারিয়ারের অগ্রগতির সাথে সাথে পাইথন আরও বেশি জনপ্রিয় হয়েছিল। হঠাৎই ম্যাটল্যাব কোডটি "সম্পর্কে বিতর্ক করা শক্ত হয়ে উঠল" এবং পাইথন কোড লেখার পক্ষে পছন্দের ভাষা ছিল যার পক্ষে যুক্তি করা সহজ ছিল।
পাঠকের কী আইডম থাকতে পারে তা বিবেচনা করুন। আপনি যদি কোনও নির্দিষ্ট বাক্যবিন্যাসে কোনও এফএফটি সনাক্ত করতে আপনার পাঠকের উপর নির্ভর করতে পারেন, যদি আপনি সেই বাক্য গঠনটিতে আঁকড়ে থাকেন তবে কোডটির "পক্ষে যুক্তি করা সহজ"। এটি তাদের টেক্সট ফাইলটিকে ক্যানভাস হিসাবে দেখতে দেয় যা আপনি একটি এফএফটি আঁকেন, তার চেয়েও কৌতুকপূর্ণ মজাদার বিশদটি না পেয়ে। আপনি যদি সি ++ ব্যবহার করেন তবে আপনার পাঠকরা std
লাইব্রেরিতে কতটা স্বাচ্ছন্দ্যযুক্ত তা সন্ধান করুন । ফাংশনাল প্রোগ্রামিং তারা কতটা পছন্দ করে? কন্টেইনার লাইব্রেরি থেকে বেরিয়ে আসা কিছু আইডিয়ামগুলি আপনি কোন আইডোমেটিক স্টাইলটি পছন্দ করেন তার উপর খুব নির্ভরশীল।
পাঠক কী ধরণের প্রশ্নের উত্তর দিতে আগ্রহী হতে পারে তা বোঝাও গুরুত্বপূর্ণ। আপনার পাঠকরা কি বেশিরভাগ ক্ষেত্রে কোডটির উপরের বোঝাপড়া নিয়ে উদ্বিগ্ন, বা তারা তলদেশে গভীর ত্রুটিগুলি খুঁজছেন?
পাঠক কতটা নির্দিষ্ট থাকতে হবে তা আসলে একটি আকর্ষণীয়। বেশিরভাগ ক্ষেত্রে, আলগা যুক্তিটি আসলে পণ্যটি দরজা থেকে সরাতে যথেষ্ট। অন্যান্য ক্ষেত্রে যেমন এফএএ ফ্লাইট সফটওয়্যার, পাঠক আয়রনক্ল্যাড যুক্তি করতে চাইছেন। আমি একটি মামলার দিকে দৌড়েছি যেখানে আমি কোনও নির্দিষ্ট কাজের জন্য রাইআইআই ব্যবহার করার পক্ষে যুক্তি দিয়েছিলাম, কারণ "আপনি কেবল এটি সেট আপ করতে পারেন এবং এটি সম্পর্কে ভুলে যেতে পারেন ... এটি সঠিক কাজ করবে।" আমাকে বলা হয়েছিল যে আমি সে সম্পর্কে ভুল ছিলাম। যারা এই কোডটিতে যুক্তি দিতে যাচ্ছিলেন তারা "ধরণের বিশদটি ভুলে যেতে চান" এমন লোকের ধরণ ছিল না। তাদের জন্য, আরআইআই আরও একটি ঝুলন্ত চাদের মতো ছিল, আপনি যখন সুযোগ ছাড়েন তখন ঘটতে পারে এমন সমস্ত বিষয় সম্পর্কে তাদের ভাবতে বাধ্য করে।