কেন একটি ত্রুটি এত সাধারণ বন্ধ হয়ে যায় এবং এগুলি প্রতিরোধ করার জন্য আমরা কী করতে পারি?


20

দেখে মনে হচ্ছে অফ-বাই-ওয়ান ত্রুটিগুলি সর্বাধিক (যদি না হয় তবে) সাধারণ প্রোগ্রামিং ত্রুটিগুলির মধ্যে একটি ( /software/109/ কি-are-common-mistkes-in-coding দেখুন) , এবং প্রচলিত জ্ঞান)।

এগুলি এত সাধারণ হওয়ার কারণ কী, মানুষের মস্তিষ্ক কীভাবে কাজ করে এটির সাথে এটি কিছু করার?
একটি ত্রুটি করে শিকারের শিকার বন্ধে আমরা কী করতে পারি?


8
এগুলি কি সাধারণ? আমি আমার ন্যায্য ভাগের বাগ তৈরি করছি তবে একের পর এক ত্রুটি খুব কমই এর মধ্যে রয়েছে। সম্ভবত যেহেতু আমি বেশিরভাগ পাইথন ব্যবহার করি, অর্থাত্ সূচকগুলি নিয়ে জাগলের পরিবর্তে পুনরাবৃত্তি ব্যবহার করি? (এবং: এটি আমাদের কী বলে ?;))

আপনি যত কম চিন্তা করতে পারেন, আপনি তত বেশি উত্পাদনশীল?
মালফিস্ট

@ ডেলান: আমি একমত আমি কোডিংয়ের সময় অফ-বাই-ওয়ান ত্রুটিগুলি প্রথমে ধরা পড়ে (আমি এমনকি কোনও অফিসিয়াল "টেস্টিং পর্যায়ে যাওয়ার আগে)"।
হতাশ

7
পূর্ববর্তী প্রশ্নের প্রায় আমি ভুল করে উত্তর দিয়েছি ...
দেবসোলো

> একটি ত্রুটি করে শিকারের শিকার হওয়া রোধ করতে আমরা কী করতে পারি? একটি পুনরুক্তি ব্যবহার করুন ।
জিম জি।

উত্তর:


18

এটি মানব মস্তিষ্ক কীভাবে কাজ করে তা নিয়ে কিছু করা। সাধারণত যে ইঞ্জিনিয়ারিং-গ্রেডের নির্ভুলতার প্রয়োজন হয় না এমন কাজের জন্য আমরা "যথেষ্ট ভাল" হতে তারযুক্ত হয়েছি। আমাদের যে মামলাগুলির ক্ষেত্রে সবচেয়ে বেশি সমস্যা হয় তার কারণগুলি "এজ" কেস বলে "

সম্ভবত বাইরের ত্রুটিগুলি এড়ানোর সর্বোত্তম উপায় হ'ল এনক্যাপসুলেশন। উদাহরণস্বরূপ, সূচী অনুসারে একটি সংগ্রহকে পুনরাবৃত্তি করে এমন লুপের জন্য ব্যবহারের পরিবর্তে (0 থেকে গণনা - 1 পর্যন্ত), যেখানে গণকের মধ্যে অন্তর্নির্মিত থামানো যায় তার সমস্ত যুক্তি সহ প্রতিটি শৈলীর লুপ ব্যবহার করুন। এই ভাবে আপনাকে কেবল একবার সীমাটি পেতে হবে, যখন আপনি প্রতিটি সময় সংগ্রহটি লুপ করবেন তার পরিবর্তে এনুমুলেটর লেখার সময়।


6
এনক্যাপসুলেশনের জন্য +1। সবচেয়ে খারাপতম বাগগুলি আমি দেখেছি যখন প্রোগ্রামটির অংশটি 1-ভিত্তিক হয় এবং অংশটি 0-ভিত্তিক হয় এবং এটি প্রতিটি ফাংশন ব্যবহৃত হয়, আপনাকে মনে রাখতে হবে এটি কোনটি ছিল এবং আপনাকে কী করতে হবে রূপান্তর করুন বা না করুন এবং কোন দিকে যেতে হবে। কয়েক মাস আগে আমাকে একটি কঠিন বাই -২ টি ত্রুটিটি সন্ধান করতে হয়েছিল কারণ দুর্বল এনক্যাপসুলেশন বলতে বোঝায় যে কেউ পৃথক দুটি যৌগিক স্থানে অফ বাই -১ ত্রুটি করেছে। সমস্ত জায়গায় এমন রূপান্তর ছিল যা অনুসরণ করা অসম্ভব এবং আমি এটিকে একটি পদ্ধতিতে একটি রূপান্তর করতে নামতে সক্ষম হয়েছি ।
কার্ল বিলেফেল্ট 19

2
কারও কাছে আরও তথ্য থাকলে আমি এর বিজ্ঞান সম্পর্কে আরও জানতে আগ্রহী। আমি আরও মনে করি যে সিএসএসের মতো প্রোগ্র্যাম্যাটিক স্টাইলিং হ'ল হতাশাব্যঞ্জক যেখানে সবকিছুই প্রান্তে রয়েছে ...
কোম্পানী লেজার

7

মস্তিষ্ক কীভাবে সীমানা এবং প্রান্তগুলি পরিচালনা করে সে সম্পর্কে বিশেষ কিছু আছে।

যদিও মস্তিষ্কের জন্য রেঞ্জ এবং স্পেসগুলির দিক বিবেচনা করা আরও সহজ , একটি প্রান্তে ফোকাস করার জন্য আরও কিছুটা মনোযোগের প্রয়োজন বলে মনে হচ্ছে। এটি এখানে কীভাবে ঘটে, ক্ষণস্থায়ী মনোযোগ হারানো বা অপর্যাপ্ত ঘনত্ব এবং আপনি সীমানাটি মিস করেছেন।

আরেকটি অসম্মান সমস্যা ছাড়াও বিভিন্ন প্রোগ্রামিং পরিবেশের যা বিভিন্ন indexation সিস্টেম পারেন 0 বা 1 থেকে শুরু হয় পারে সক্রিয়ভাবে উভয় পরিবেশের ধরনের উন্মুক্ত লোকদের বিভ্রান্তির যোগ করুন।


4

আমি বিশ্বাস করি এটি প্রসঙ্গের স্যুইচিংয়ের কারণে is আমাদের প্রতিদিনের জীবনে আমরা 1-ভিত্তিক সূচকগুলি ব্যবহার করার প্রবণতা রাখি। এ কারণে আমাদের মস্তিষ্ক সঠিক আচরণ দীর্ঘমেয়াদী স্মৃতিতে পোড়াতে অক্ষম।


2
এবং তারপরে প্রোগ্রামিং ল্যাঙ্গগুলির মধ্যে স্যুইচ করার মজা আছে যা ডিও সূচক 1 থেকে শুরু হয় (যেমন পিএল / এসকিউএল)।
হতাশ

3
+1 এর জন্য 1-সূচকযুক্ত নম্বরটি "সেখানে কতজন?" এই প্রশ্নের উত্তর দেয়, যা বেশিরভাগ বাস্তব বিশ্বের কার্যাদি সুন্দরভাবে মানচিত্র করে। 0-সূচকটি "প্রতিটি আইটেমের মধ্যে কী অবস্থানে থাকে?" সম্পর্কে, যা মেটাস্পেসে কম ব্যবহার হয়।
ড্যান রে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.