কোডিং মানগুলি [বন্ধ] সহ এড়ানো যায় এমন বাগগুলি


11

আমি পরিসংখ্যান (বা অনুমান) সন্ধান করছি যা কোডিং মানগুলি বাগ কমাতে সহায়তা করে এমন দাবিটি ব্যাকআপ করে। হার্ড-সংখ্যাগুলি দুর্দান্ত হবে, যদিও আমার কোনও সন্ধানের তেমন চেহারা হয়নি। এমনকি আমি বিভিন্ন ওপেন সোর্স প্রকল্পগুলির জন্য বাগ ট্র্যাকিংয়ের দিকে নজর রেখেছি, তবে আমার কী প্রয়োজন তা সন্ধান করতে খুব একটা সফল হতে পারেনি। আমি কি এটি খুঁজে পেতে সক্ষম হতে পারে এমন কোনও জায়গার কি কেউ জানেন? বা আপনারা কেউ এমন কোনও ওপেন-সোর্স প্রকল্পগুলিতে অবদান রাখছেন যাতে বাগগুলি রয়েছে যা আরও ভাল কোডিং মান সহ এড়ানো যেতে পারে?


5
শুভকামনা! প্রোগ্রামিং সম্পর্কিত যে কোনও বিষয়ে স্ট্যাটাস সন্ধান করা সত্যিই শক্ত।
উইনস্টন ইওয়ার্ট

আমি কোডিং মানগুলি একবার পড়ি ... এবং এটি সেই গল্পের শেষ। অন্যদিকে স্টাইলকপ - আমি এটি প্রতিদিন চালাই।
চাকরি

সমস্যা সমাধানের জন্য আইএমও বেশিরভাগ সময় বাগগুলি ঠিক করতে ব্যয় হয় যা জটিলতার কারণে উদ্ভূত হয়। সুতরাং, একজন বিকাশকারী হিসাবে আপনার কাজ হ'ল সমস্ত সৈন্যদল এবং জটিলতার বিভিন্ন বাহিনীর বিরুদ্ধে লড়াই চালিয়ে যাওয়া। ব্যবসায়ের প্রয়োজনীয়তাগুলি নিজেরাই শুরু করা এবং সংযোজন, নির্ভরতা এবং আর্কিটেকচারের পাশাপাশি ধারাবাহিকতা এবং পঠনযোগ্যতার মধ্য দিয়ে যাওয়া। দুর্বল কোডিং মানগুলি আপনার বিরুদ্ধে লাইনবদ্ধ জটিলতার বাহিনীগুলিতে কেবলমাত্র একটি ছোট ব্যাটালিয়নের প্রতিনিধিত্ব করে।
ব্র্যাড থমাস

উত্তর:


8

কোডিং মানগুলি নিজেরাই বাগগুলি হ্রাস করে না। সাউন্ড সফটওয়্যার ডেভলপমেন্ট প্রসেসের অংশ হিসাবে কোডিং মানগুলি বাগগুলি হ্রাস করে।

এখানে দুটি কাগজপত্র রয়েছে যা ত্রুটি হ্রাস সম্পর্কে সাউন্ড সফটওয়্যার ইঞ্জিনিয়ারিং প্রক্রিয়ার পরিসংখ্যানিক প্রভাব অধ্যয়ন করে যা আপনি একটি সূচনা পয়েন্ট হিসাবে ব্যবহার করতে পারেন:


3

"মানদণ্ডগুলি" কোডিং ... এমন অনেকগুলি ক্ষেত্র রয়েছে যা মানক করা যায়। আমরা কি নামকরণের মান ইত্যাদির মতো কোডিং কনভেনশন সম্পর্কে কথা বলছি? বা আমরা কি আরও গভীর কিছু সম্পর্কে কথা বলছি, যেমন টিডিডি / বিডিডি, সিআই ইত্যাদি?

আমি আপনাকে বলতে পারি যে "টেস্ট-ফার্স্ট" পদ্ধতি অনুসরণ করে, সিআই পাসিং টেস্ট এবং ভাল কোড কভারেজ প্রয়োগ করে ক্লায়েন্টের দ্বারা পাওয়া বাগের সংখ্যা হ্রাস করে না। বিকাশকারী এবং কিউএ উভয় দ্বারা অটোমেটেড টেস্টিংও বাগগুলি খুঁজে পাওয়ার জন্য তুলনামূলকভাবে "সস্তা" উপায় কারণ তাদের সাধারণত প্রতিক্রিয়া সময় খুব কম থাকে। আপনি জানতে পারেন যে আপনি প্রায় 45 সেকেন্ডের মূল্যমানের ইউনিট পরীক্ষা চালিয়ে যা লিখেছেন তা আপনি লিখেননি। কয়েক ঘন্টা ইন্টিগ্রেশন পরীক্ষাগুলি এমন জায়গাগুলি খুঁজে পাবে যেখানে প্লাগিংয়ের জিনিসগুলি পরিকল্পনার মতো হয়নি, এবং শেষ থেকে শেষ এবং স্বয়ংক্রিয় ইউআই পরীক্ষায় খুব উচ্চ স্তরের সফ্টওয়্যারটিতে দ্রুত কার্যকরী ত্রুটিগুলি দেখা যায়।

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

শেষ অবধি, এই পদ্ধতির অংশ হিসাবে আপনি এই স্বয়ংক্রিয় পরীক্ষামূলক কাঠামোটি খুব সহজেই এমন একটি পরিবেশ দেবেন যেখানে আপনি আক্ষরিক মুহুর্তের নোটিশে সফ্টওয়্যারটির একটি নতুন বিল্ড প্রকাশ করতে পারবেন। "আরে, আপনার ঠিক ঠিক ঠিক করা বাগটি কিছু আসল মাথা ব্যথার কারণ হয়ে দাঁড়িয়েছে; নতুন সংস্করণে কখন প্রস্তুত হবেন?" ক্লিক "যখন বিল্ড সার্ভার শেষ ডাউনলোড পৃষ্ঠায় প্রকাশের ওহ, 5 মিনিট এর মধ্যে"।

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


3

প্রতিটি এসকিউএল ইঞ্জেকশন দুর্বলতা হ'ল একটি ত্রুটি যা কোডিং স্ট্যান্ডার্ড দিয়ে প্রতিরোধ করা যেতে পারে। এসকিউএল ইনজেকশন দুর্বলতার উপর পরিসংখ্যানগুলি, এএফআইকে, উপলব্ধ।

প্রতিটি বাফার ওভারফ্লো দুর্বলতা কোডিং স্ট্যান্ডার্ড দিয়ে প্রতিরোধ করা যেতে পারে। সেগুলির পরিসংখ্যান সম্ভবত খুব উপলব্ধ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.