কোড পর্যালোচনায় মন্তব্য করার সর্বোত্তম উপায় কী?


13

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

আমার প্রশ্ন হ'ল আমি যে সমস্যাটি দেখতে পাচ্ছি তার কোডের লাইনে আমি কীভাবে সেরা মন্তব্য করব? আমি ঘৃণ্য মনে হচ্ছে না আমার পয়েন্ট পেতে।

আমি মনে হতে চাই না যে আমি একটি উচ্চ ঘোড়ায় আছি এবং বলতে চাই যে " আমি এটি এইভাবেই করছিলাম ... এবং আমি এমনও মনে করতে চাই না যে আমি প্রামাণিক হওয়ার চেষ্টা করছি এবং এর মতো কিছু বলব " এটি এইভাবে করা উচিত ... " তবে আমার এখনও বিষয়টি বোঝানো দরকার যে তারা যা করছে তা খুব ভাল নয়।

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


2
ফিশই এবং ক্রুসিবি (আমার প্রিয় সরঞ্জামগুলি বিটিডব্লু) এর নাম ছোঁড়ার পাশাপাশি এখানে নির্দিষ্ট কিছু প্রোগ্রামিং দেখতে পাচ্ছি না। গঠনমূলক প্রতিক্রিয়া কীভাবে সরবরাহ করা যায় তার
gnat


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

1
@ এইচএলজিইএম আমি বলব প্রস্তাবিত ডুপের কথাটি হ'ল: "আমি কীভাবে কৌশলে পরামর্শ দিতে পারি ..."। সাধারণভাবে, স্টাইল বা আপনার নিজস্ব পছন্দকে নয়, পর্যালোচনাধীন কোডে বিদ্যমান সমস্যাগুলি সমাধান করার দিকে মনোনিবেশ করুন। আপনার পরামর্শ কীভাবে কোডটিকে আরও ভাল করে তোলে তা ব্যাখ্যা করুন।
কালেব

@ স্টিংকিচিজম্যান কেবল অন্য লোককে জানিয়ে দিন যে এটি করা আপনার পক্ষে ভাল। এবং আপনার দলের লোকেরা প্রক্রিয়াটির মাধ্যমে কিছু শিখবে।
আপটন

উত্তর:


8

ভাল আমি বেশ কয়েকটি সাধারণ ক্ষেত্রে মন্তব্য করতে চাই এবং প্রতিটি ধরণের আলাদাভাবে পরিচালনা করা যেতে পারে।

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

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

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

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


1
পুনরায় অনুচ্ছেদ # 3: আমার অভিজ্ঞতাটি হ'ল নিছক আরও ভাল কৌশলটি ব্যাখ্যা করা খুব কমই যথেষ্ট (এটি সুস্পষ্ট না হলে)। আপনার সুবিধাগুলির পুরোপুরি প্রশংসা করতে এবং বিশ্বাসী হওয়ার আগে আপনাকে প্রায়শই কোডটি আবার লিখতে হবে। কেবলমাত্র একটি মন্তব্য-পর্যালোচনা সিস্টেমে এটি করা শক্ত। "আপনারা আমাকে দেখতে আসুন এবং আমরা এটি নিয়ে আলোচনা করব" দিয়ে আপনার মন্তব্য শেষ করতে হতে পারে। এটি সার্থক করতে।
এমএমসিসিসি

@ এমসিএমসিসি, এটি একটি ন্যায্য পয়েন্ট, বা আপনি তাদের কোডের অন্য কোনও জায়গায় উল্লেখ করতে পারেন যেখানে একই ধরণের টেকনিক ব্যবহার করা হয়। আমি সাধারণত মন্তব্যগুলি ব্যবহার করি যতক্ষণ না সেগুলি সমস্ত তুচ্ছ না হয় তার পরে একটি আসল আলোচনাটি ট্রিগার করার জন্য।
এইচএলজিইএম

6

কোডটি যদি আপনার কোডিং মানগুলি অনুসরণ করে তবে আপনি এটি নিজেকে অন্যভাবে জিজ্ঞাসা করতে হবে যে তারা কী করেছে তা ভুল।

যদি এটি না হয় ... এটি ঠিক কীভাবে আপনি এটি করতেন তা না এবং আপনি কেবল এটি ছেড়ে দিতে পারবেন না, কেবল জিজ্ঞাসা করার চেষ্টা করুন 'আপনি কেন এইভাবে না করে এইভাবে করলেন?' তারপরে আপনি তাদের যোগ্যতা অর্জন করছেন যে তারা কেন এমনভাবে করেছে কারণ 'আমি এইভাবে এটি করতাম এবং আপনারও উচিত ...'

প্রক্রিয়াটিতে আপনি কিছু শিখতেও পারেন।


4

আমি ঘৃণ্য মনে হচ্ছে না আমার পয়েন্ট পেতে।

ক্ষতিকারক হওয়ার সাথে মিশ্রণকে বিভ্রান্ত করবেন না। যখন কোনও সমস্যা হয় তখন এটিকে এমনভাবে নথি করুন যাতে যে কেউ এটি ঠিক করতে চলেছে বুঝতে পারে। ঘটনাগুলিতে লেগে থাকুন এবং একটি প্রবন্ধ লিখবেন না। বুদ্ধিমান:

  • স্নোরগাটজ ফ্যাক্টরের 5 টি গ্রিম্বলের মধ্যে যখন মূর্খতা থাকে তখন এটি ফ্রোবনিটজকে ত্রুটিযুক্ত করে তোলে।

  • এটি করার জন্য প্রতিষ্ঠিত কনভেনশন হ'ল নতুনভাবে-প্রাথমিক স্কুইজ সহ ফাজতজ () কল করা। এটিকে একটি পদ্ধতিতে তৈরি করুন যাতে এটি সর্বদা একইভাবে হয় এবং সদৃশ হয় না।

    আমি এমনও মনে করতে চাই না যে আমি প্রামাণিক হওয়ার চেষ্টা করছি এবং "এটি এইভাবে করা উচিত ..." এর মতো কিছু বলতে চাই তবে তারা এখনও যা করছে তা খুব ভাল নয় বলে আমার এখনও পয়েন্টটি পাওয়া উচিত ।

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

মতভেদ থাকবে এবং সেগুলি পর্যালোচক এবং পুনর্বিবেচনাকারীদের পক্ষে তাদের অবস্থান রক্ষার সুযোগ রয়েছে। যদি আপনি অন্যথায় সহকর্মী হন এবং আপনি কোনও অচলাবস্থায় পৌঁছে যান তবে টাই ভাঙার জন্য সিনিয়র কাউকে খুঁজে পান।


শুধুমাত্র স্নোরগাটজ ফ্যাক্টরের জন্য +1 (ভাল উত্তরটি আমি খুব পছন্দ করেছি)
এইচএলজিইএম

3

এটি কী ধরণের সমস্যা লক্ষ্য করা গেছে তার উপর নির্ভর করে

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

1

আমার অভিজ্ঞতা থেকে:

  1. কোডটির পর্যালোচনা করার সময় সর্বদা আপনার সাথে কোড লেখক থাকুন। সাধারণত হোয়াইটবোর্ডে কোডটি প্রজেক্ট করা হয় এবং আপনি উভয়ই কোডটি খুব ভালভাবে দেখতে পারেন।

  2. একটি বন্ধুত্বপূর্ণ কথোপকথন আছে। কোডিংয়ের ভাল অংশটির প্রশংসা করুন। যদি আপনি কোডটিতে কিছু ভাল অংশ দেখতে পান তবে তাকে বলুন যে "এটি আমি দেখেছি সেরা"।

  3. আপনার কোডটি পর্যালোচনা করতে এবং বৈধ পয়েন্টগুলিতে স্বীকৃতি জানাতে এবং তাকে সংশোধন করতে বলুন him আপনার কোডে তার মন্তব্যে সম্মান দিন এবং তিনি স্বয়ংক্রিয়ভাবে আপনার কোড পর্যালোচনা মন্তব্যগুলিতে সম্মান দেবেন।
  4. কোড রিভিউ সমস্যাগুলি সংশোধন করার জন্য এটি খুব গুরুত্বপূর্ণ বা বেশি সময় প্রয়োজন না হলে বিকাশকারী পর্যায়ে ডিল করুন। শর্ত হারিয়ে না থাকলে সমস্যাটির জন্য ম্যানেজারের কাছে সহজতর হন না।
  5. কোডটিতে ভুলগুলি নির্দেশ করার পরিবর্তে "অন্যান্য কোড থেকে শেখা" এর দৃষ্টিকোণটি দেখুন।
  6. কোড পর্যালোচনা সেশনের সময়, আপনি যে অতীতগুলি করেছেন সেগুলি এবং কোড পর্যালোচনাগুলি আপনাকে কীভাবে সহায়তা করেছিল এবং বড় উত্পাদন সমস্যাগুলি এড়ানো হয়েছে তা উদ্ধৃত করুন কারণ চোখের আরও একটি সেট আপনাকে সহায়তা করেছিল।
  7. বিনম্র হও. তার কাছে আরও প্রশংসা এবং কম মন্তব্য :) কোড পর্যালোচনা চলাকালীন আপনি অনেক কিছু শিখবেন এবং তিনি আপনার মন্তব্যগুলিও সানন্দে গ্রহণ করবেন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.