একটি স্ট্যান্ডার্ড কোড পর্যালোচনাতে কী রয়েছে?


19

আমার সংস্থায়, কোন বৈশিষ্ট্যটি প্রয়োগ করা হয়েছে এবং কোডটি লেখার মাধ্যমে কী ধরণের বাগ প্রেরণ করা হয়েছে তার একটি ইমেল আলোচনা এটি। এবং মেলটি গ্রহণকারী পর্যালোচক কোডটি পর্যালোচনা করবে এবং তার মতে কীভাবে কোডটি সম্পাদনা করবে সে সম্পর্কে আলোচনা করবে। একটি স্ট্যান্ডার্ড কোড পর্যালোচনাতে কী রয়েছে?


10
এখানে, স্পষ্টতই, আমাদের কাছে কোড পর্যালোচনার জন্য সময় নেই, তবে ফলস্বরূপ স্ক্রু-আপগুলি মোকাবেলা করার জন্য প্রচুর সময়। আমি যদি মজা করতাম
মেটালমিকেস্টার

উত্তর:


12

আমার অভিজ্ঞতায়, বেশিরভাগ আনুষ্ঠানিক কোড পর্যালোচনাগুলি স্টাইল চেকিংয়ে রূপান্তরিত হয় কারণ এটি সহজ। এমনকি আপনি যখন দেখার মতো জিনিসগুলির একটি চেকলিস্ট সরবরাহ করেন তখনও চোখের পক্ষে ঝলকানি শুরু করা খুব সহজ।

আমি পেয়েছি যে ইউনিট পরীক্ষা পর্যালোচনা আরও সুবিধা প্রদান করে। বেশিরভাগ বিকাশকারী যাদের সাথে আমি কাজ করেছি তারা পরীক্ষার যথাযথ ইউনিট কীভাবে করতে হয় তা সত্যই জানে না এবং একবার তারা "আহা!" মুহুর্তে তাদের কোডের বাকিগুলিও উন্নতি শুরু করে। এখানে একটি ইঙ্গিতটি রয়েছে: এটির কোনও ইউনিট পরীক্ষা নয় যদি আপনার কোনও ব্যবহারকারীকে কিছু পরীক্ষা করার প্রয়োজন হয়, এবং এটি কোনও ইউনিট পরীক্ষা নয় যদি আপনি কোনও ডিবাগারে চালানোর জন্য কিছু শুরু করে থাকেন।


এলএল, ইউনিট পরীক্ষাগুলি সম্পর্কে ভাল বোঝা জরুরি। এবং সুসংবাদটি হ'ল টেস্টিংটি কেবল সাধারণ জ্ঞান say এটি বলার চেয়ে কম সময় লাগে ... একটি নতুন ভাষা বেছে নিতে সময় লাগে।
কাজ

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

6

এটি সমস্যাটি কী তার ভিত্তিতে পরিবর্তিত হয়। অনেক সময় এটি একটি সাধারণ রাবার স্ট্যাম্প। "সমস্যাটি এখানে কী ছিল তা এখানে দেখুন এই লাইনটি এখানে দেখুন, কী ভুল হচ্ছে তা স্পষ্ট। এবং আমি এটি ঠিক করেছি।" "হ্যাঁ, এটি বেশ সুস্পষ্ট।

তবে যখন আরও কিছু জড়িত তখন এটি সাধারণত এরকম হয়:

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

4

আইএমও, কোনও কোড পর্যালোচনার বৈশিষ্ট্য বা বাগগুলির সাথে কোনও সম্পর্ক নেই, তবে কোডের মান এবং এর জন্য লিখিত পরীক্ষাগুলির উপর দৃষ্টি নিবদ্ধ করে।

সুতরাং, আপনি আপনার পিয়ারের পাশে বসে তাকে কোডটি ব্যাখ্যা করতে, বা কোডটি নিয়ে যান এবং পরিস্থিতি যা কিছু বলুক না কেন, তার মধ্য দিয়ে যান।

যখন সবাই একই মানদণ্ডের বিরুদ্ধে প্রোগ্রাম করে এবং যদি আপনি প্রক্রিয়াটির অংশটি স্বয়ংক্রিয় করতে fxCop এর মতো সরঞ্জাম ব্যবহার করেন তখন এটি সাহায্য করে।


2

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

কোড পর্যালোচনাতে মানদণ্ড প্রয়োগ করাও তীব্র, তবে তাদের একমাত্র ফোকাস না করে।

তবে কোড পর্যালোচনাকারী খুশি না হওয়া বা পরিচালক (দেব নয়) তাকে বা তার উপর চাপ না দেওয়া পর্যন্ত কোডটি উত্পাদনে প্রেরণ করা হয় না (কোড পর্যালোচকদেরও ভুল হয়েছে)। এটি সমালোচনাযোগ্য বা কোড পর্যালোচনা কেবলমাত্র আমলাতান্ত্রিক প্রক্রিয়া যা কোনও অতিরিক্ত মূল্য ছাড়াই কোড পর্যালোচককে চূড়ান্ত কোডটি ধাক্কা দেওয়ার আগে অনুমোদিত করতে হবে না।


আমি সবসময় পর্যালোচনা প্রতিক্রিয়া দিয়ে তিনি কী করেন তা নির্ভরশীল হওয়ার পরামর্শ দিই। পর্যালোচক অগত্যা সেরা জানেন না এবং যখন চুক্তি বাধ্যতামূলক হয় তখন আপনাকে পর্যালোচককে শিক্ষিত করার জন্য বেশ কিছুটা সময় ব্যয় করতে হবে। যদিও আমি সিনিয়র / সীসা বিকাশকারী দ্বারা একটি চূড়ান্ত 'ইন্টিগ্রেশন' চেক বিবেচনা করব।
জোপে

0

প্রথমে আপনার কোডিং মান থাকতে হবে এবং এগুলি নিছক বাক্য বিন্যাসের চেয়ে বেশি। লোকেরা যখন আপনার সংস্থায় শুরু হয় তাদের কোডিং শুরু করার আগে তাদের অবশ্যই আপনার সংস্থার দিকনির্দেশগুলি যথাসম্ভব শিখতে হবে । যদি পর্যালোচনা প্রক্রিয়ায় সব ধরণের লঙ্ঘন পাওয়া যায় তবে তারা সম্ভবতঃ

  • সময় সীমাবদ্ধতার কারণে স্থির করা যায় না
  • গাইডলাইনগুলির মূল্য কী তার চেয়ে বেশি বিরক্তিকর বলে মনে হয়েছে

গাইডলাইনগুলির অর্থ হওয়া উচিত এবং লঙ্ঘনগুলি সন্ধান করার জন্য এবং যথাসম্ভব সহজ চুল্লী করার উপযুক্ত সরঞ্জাম থাকা উচিত। সর্বদা গাইডলাইনগুলির লক্ষ্য এবং কোড পর্যালোচনা দেখুন

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

আমার মনে নির্দেশিকা যেমন বিদ্যমান থাকতে পারে:

  • সাধারণ বাক্য গঠন এবং কোডিং গাইডলাইন (ইতিমধ্যে বিদ্যমান একটি বেছে নিন এবং স্বয়ংক্রিয়ভাবে চেক করে এমন সরঞ্জাম ব্যবহার করুন)
  • সঠিক ব্যতিক্রম হ্যান্ডলিং
  • সঠিক লগিং
  • ভাষার জন্য দৃষ্টান্তগুলির ভাল ব্যবহার (ওও ভাষার জন্য সলিড)
  • উপাদানগুলির মধ্যে স্পষ্ট এবং সুচিন্তিত নির্ভরতা (এনডিপেন্ডের মতো সরঞ্জামগুলি ব্যবহার করুন)
  • স্ক্রিপ্ট বিল্ড স্ক্রিপ্ট
  • ডকুমেন্টেশন উপস্থিত (বিকাশকারী সূচনা, ইনস্টলেশন ম্যানুয়াল)
  • অভ্যন্তরীণ লাইব্রেরি ব্যবহার করতে
  • কোম্পানির নীতি
  • তৃতীয় পক্ষের সরঞ্জামাদি যা অনুমোদিত নয়
  • ইউনিট পরীক্ষা উপস্থিত এবং অকার্যকর
  • 90% কোড-কভারেজ
  • ...

সেই জায়গায় কোডের পর্যালোচনাটি সফ্টওয়্যার নিয়ে গঠিত যা গাইডলাইনগুলির বিরুদ্ধে পরীক্ষা করা হচ্ছে এবং:

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