সাধারণ কোড পর্যালোচনা প্রক্রিয়াগুলি কী এবং কী খারাপ বলে বিবেচিত হয়?


16

আমার সংস্থা সম্প্রতি আনুষ্ঠানিক কোড পর্যালোচনা করা শুরু করেছে। প্রক্রিয়াটি এরকম হয়: আপনি একটি গিথুবে জমা দিন, একটি টানার অনুরোধ করবেন, কোডটি প্রায় তিনজন লোক দ্বারা পর্যালোচনা করা হয়, তারপরে যদি সমস্ত পাস হয় তবে আপনার কোডটি ভিতরে যায়।

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

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

তাহলে আমার প্রশ্নটি কি এটি ন্যায্য? নাকি সাধারণ?


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

1
আরে - এটি সঠিক শব্দটি কিনা তা নিশ্চিত নন তবে এটি বেশিরভাগ সাধারণ "সেরা অনুশীলন" মতামত যেমন ভেরিয়েবলগুলির নাম পরিবর্তন করা, চলমান ফাংশনগুলি, 3-5 বারের উপরে ফাংশনগুলির নাম পরিবর্তনকরণ ইত্যাদি We
ব্যবহারকারী1207047

এছাড়াও এই টিকিটে উল্লেখ করতে ভুলে গেছি, আমি আসলে এই সংস্থার 3 স্তরের বিকাশকারী। আমার পিএইচপি শংসাপত্র রয়েছে এবং এখানে নিযুক্ত 8 বছর ধরে দুর্দান্ত কাজ করে যাচ্ছি। এটি সম্প্রতি ঘটেছে যা এটি ঘটতে শুরু করে। সুতরাং আমি বলতে চাইছি যে কেউ ভাবতে চান 8 বছর পরে, আপনি কিছু সঠিক জানতে পারবেন?
ব্যবহারকারী1207047

1
"সুতরাং আমি বলতে চাইছি একজন এটি ভাবতে চান যে 8 বছর পরে, আপনি কি কিছু সঠিক জানতে পারবেন?" - ঠিক আছে, আপনি অবাক হবেন ... যে জিনিসগুলি আমি কখনও কখনও কাজের সময়ে দেখি ...
মেটালমাইকস্টার 20'13

উত্তর:


15

সমস্ত মন্তব্য "করণীয়" এবং যুক্তি ছাড়াই বিবেচনা করা হয়।

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


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

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

2
আপনি @ ডাঙ্ক জানেন, আমি মনে করি আপনি ঠিক এখানে আছেন। আপনার মন্তব্যটি সত্যই ঘরে বসেছিল এবং আমি এই উত্তরটি গ্রহণ করেছি কারণ আমি মনে করি না যে আমি কোনও মন্তব্য গ্রহণ করতে পারি। আমি এই গোষ্ঠীর একজন "বহিরাগত" এবং এখন বুঝতে পারি কেন অভ্যন্তরীণ বৃত্তটি আরও ভাল এবং দ্রুত পর্যালোচনা পাচ্ছে এবং বাইরের লোকেরা তা নয়। পরিচালনার মাধ্যমে আমাকে এই দলে "জোর করে" চাপানো হয়েছিল, হ্যাঁ এবং আমরা একসাথে কাজ করতে "বাধ্য" হয়েছি। সুতরাং এটি খুব যুক্তিসঙ্গত বলে মনে হচ্ছে এবং এটি কেন কঠোর তা যুক্তিযুক্ত ব্যাখ্যা। সে বা আমি সত্যিই কোডিং এ দুর্গন্ধ। এটি বের করার একমাত্র উপায় হ'ল অন্য গ্রুপ / সংস্থায় গিয়ে নিজের জন্য।
ব্যবহারকারী1207047

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

10

কোড পর্যালোচনাগুলি একটি বিভাজক প্রক্রিয়া হতে পারে।

যদিও আপনি একটি গুরুত্বপূর্ণ মোড় এ। তাদের পর্যালোচনা উপর একটি চিন্তাশীল বিশ্লেষণ করুন। তারা কি নিট-বাছাইয়ের বিষয়গুলি সনাক্ত করছে বা আপনার স্টাইল এবং যুক্তিতে মারাত্মক ত্রুটিগুলি তুলে ধরেছে?

যদি এটি পূর্বের হয় তবে আমি একটি রেজোলিউশনের (নতুন কাজ, বা নতুন কোড পর্যালোচনা প্রক্রিয়া) দিকে কাজ করার পরামর্শ দেব।

যদি এটি পরবর্তী হয় তবে আমি আপনার কোডটি পেশাদার মানের দিকে নিয়ে যাওয়ার চেষ্টা করার জন্য প্রচুর কোড-পড়া এবং অধ্যয়ন করার পরামর্শ দিচ্ছি।


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

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

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

1
@ ব্যবহারকারী: আপনার কাছে কোডিং / ডিজাইনের মান প্রয়োজন বলে মনে হচ্ছে।
ডঙ্ক

2
@ ব্যবহারকারী: আপনি যা করতে পারেন তা হ'ল সিস্টেমের মধ্যে কাজ করার চেষ্টা করা এবং আপনি একজন দলের খেলোয়াড় হিসাবে প্রদর্শিত। যদি আপনি এটি করেন। তাহলে হয় আপনার উপলব্ধি সঠিক নয়, আপনি অযৌক্তিক লোকদের সাথে আচরণ করছেন, তারা আপনার মনোভাবকে বিতর্কিত বলে মনে করেন বা এটি কেবল সরল দুষ্টু অফিসের রাজনীতি। আপনার দৃষ্টিভঙ্গি / উপলব্ধি কেবলমাত্র আপনার নিয়ন্ত্রণে রয়েছে। আপনি যদি নিশ্চিত হন যে আপনি কোনওভাবেই সমস্যা উত্সাহিত করছেন না তবে আপনি কেন থাকবেন তা আমি জানি না। কাজ করতে উপভোগযোগ্য এমন কোনও জায়গা সন্ধান করুন কারণ লোকেরা পাশে পান। যদি একই সমস্যা অন্য কোথাও ঘটে থাকে তবে আয়নায় তাকান।
ডঙ্ক

5

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

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

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

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

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


1
100% শেষ অনুচ্ছেদের সাথে একমত: কার্যকর করার আগে আপনার আপনার পছন্দসই নকশাটি নিয়ে আলোচনা করা উচিত। অন্ততপক্ষে আপনি একটি অনুমিত গ্রহণযোগ্য কাঠামো দিয়ে শুরু করছেন। তারপরে বাস্তবায়নের পরে, এটি চূড়ান্ত নকশা (কোড নয়) নিয়ে আলোচনা করার জন্য আরও একটি শট হয়ে উঠতে পারে। তারপরে চূড়ান্ত নকশা আলোচনার ফলাফলের সাথে মেলে কোডটি পরিবর্তন করুন। যদি এটির পরে বেশ কয়েকটি চেষ্টা করে এবং এটি বিষয়গুলির উন্নতি না করে তবে এটি স্পষ্ট করে তোলে যে অবস্থানটি কেবল একটি উপযুক্ত ফিট এবং আপনার অন্য কোথাও সন্ধান করা উচিত।
ডঙ্ক

4

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

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

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

তদ্ব্যতীত, আমাকে বলতে হবে যে আমার প্রথম বাস্তব কোড পর্যালোচনায় আমার কাছে প্রত্যাশার চেয়ে বেশি মন্তব্য রয়েছে। তবে আমি এটিকে কখনও খারাপ জিনিস হিসাবে বিবেচনা করি না। যদি আপনি তাদের মন্তব্যগুলি থেকে শিখতে থাকেন² এবং আপনার ভবিষ্যতের কোড জমাগুলিতে সেই নতুন শিখে নেওয়া কৌশলগুলি / সেরা অনুশীলনগুলি প্রয়োগ করতে রাজি হন তবে মন্তব্যগুলি কম হওয়া উচিত। এটা নিশ্চিত ছিল আমার ক্ষেত্রে ;-)

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

² ধরে নেওয়া যে মন্তব্যগুলি অতিরিক্ত হলেও, তাদের মধ্যে কিছু মূল্য রয়েছে


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

1
@ ব্যবহারকারী1207047 অন্যান্য উত্তরগুলির জন্য আপনার প্রতিক্রিয়াগুলি পড়ার পরে, আপনার নিজের প্রশ্নের উত্তরটি ইতিমধ্যে আপনি জানেন বলে আমার কাছে মনে হয়েছে .. :-) এটি আপনার কোড পর্যালোচনাগুলির সাথে কিছু স্পষ্ট মনে হয়েছে। সম্ভবত এটির সাথে কথা বলার বা অন্য দলে স্থানান্তর করার অনুরোধ করার সময়?
জেরুমে

3

কারও পক্ষে কি নিয়মিতভাবে তাদের কোড পর্যালোচনাগুলিতে 100+ মন্তব্য পাওয়া সাধারণ? আমি বলব না। যাদের কোড মানের "পছন্দসই হওয়ার জন্য অনেক কিছু ছেড়ে যায়" তাদের পক্ষে কি একেবারে মন্তব্য রয়েছে?

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

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

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

আপডেট 2: @ ব্যবহারকারীর: আপনি যখন আপনার কোড / ডিজাইনটি বিকাশকালে তাদের সাথে কারও সাথে আলোচনা করেন যাতে আপনি এগুলি চালিয়ে যাওয়ার আগে তারা যা খুঁজছেন তা প্রয়োগ করতে পারেন? আপনি কীভাবে তাদের পরামর্শের উপর ভিত্তি করে কোড বিকাশ করছেন বা আপনার পথটি ভাল বলে ভাবতে চলেছেন সে সম্পর্কে কিছু পরিবর্তন করছেন? আপনি তাদের মন্তব্য থেকে কিছু শিখছেন?

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

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


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

তবে একটি বিষয় হ'ল যদি আপনি কোডটি বুঝতে না পারেন, বা বিকাশকারী একটি বিদ্যমান পদ্ধতি ব্যবহার করার পরিবর্তে চাকাটি পুনরায় উদ্ভাবন করেন, বা যদি তার পদ্ধতিতে 50 এর চক্রবৃত্তীয় জটিলতা থাকে তবে তা অবশ্যই মন্তব্যের ক্ষেত্রে একটি মামলা, এমনকি যদি কোন বাগ নেই। কোড এবং ডুপ্লিকেশন পড়া কঠিন , এটি যদি বাগ নাও হয় তবে দায় is এ কারণেই আমি কখনই উল্লেখ করতে দ্বিধা বোধ করি না যে কোনও ভেরিয়েবলের নাম খারাপ হয়েছে, বা সমাধানটি এমন একটি অস্থায়ী সংযুক্তির পরিচয় দেয় যা কোড বোঝা আরও শক্ত করে তোলে। প্রযুক্তিগত debtণ অবশ্যই পরিচালনা করতে হবে।
লরেন্ট বোর্গাল্ট-রায়

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

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

আমি আপনার মন্তব্যটি আবার পড়েছি এবং আমি বুঝতে পারি যে আমাদের পদ্ধতিগত কারণে আমাদের অন্যরকম দৃষ্টিভঙ্গি রয়েছে। আমি একটি অ্যাগ্রিল টিমে কাজ করি যেখানে নেতৃত্ব নেই। যেহেতু আমরা সবাই সমান এবং কোড মানের জন্য সমস্ত দায়বদ্ধ, আমাদের অবশ্যই একে অপরকে পর্যবেক্ষণ করতে হবে। এবং কোড পুনর্বিবেচনা প্রতিটি ইন্টিগ্রেশন আগে প্রতি 3-4 ঘন্টা করা হয়। সুতরাং যদি আমরা খুব নাজি হন বা আমরা যদি এমন একটি রিফ্যাক্টর তৈরি করি যা সফ্টওয়্যারটির একটি পুরানো এবং ক্রুফটি অংশকে প্রভাবিত করে তবে একটি বড় টান-অনুরোধটি পরিষ্কার করা কয়েক ঘন্টা is সুতরাং কেন আমি কোড মানের মন্তব্যটিকে "কোনও বড় কথা নয়" হিসাবে দেখছি।
লরেন্ট বোর্গাল্ট-রায়

2

আমাদের দল পরিদর্শন প্রক্রিয়ার সাথে কিছু গুরুত্বপূর্ণ পার্থক্য:

  • পরিদর্শনটির ভিত্তি একটি চেকলিস্ট, পুরো টিম দ্বারা সংকলিত।
  • ফোকাস হ'ল ত্রুটিগুলি (বর্তমান এবং ভবিষ্যত), শৈলীর খাতিরে নয়।
  • 3 জন পরিদর্শক (লেখক সহ) একসাথে বসে মন্তব্যগুলি চালাবেন। সংখ্যাগরিষ্ঠ ভোট সহ কেবলমাত্র মন্তব্য বাকী রয়েছে।

2

50 টি এলওসি 300-এর জন্য মন্তব্যগুলি কিছুটা অতিরিক্ত মাত্রা এবং - বাহ - প্রতিটি টানার অনুরোধের জন্য 3 পর্যালোচক? আপনার সংস্থার অবশ্যই প্রচুর সংস্থান থাকতে হবে।

দরকারী কোড পর্যালোচনা প্রক্রিয়াটির জন্য আমার অভিজ্ঞতা থেকে কিছু নিয়ম এবং / অথবা নির্দেশিকা থাকতে হবে:

  • মন্তব্যের অগ্রাধিকার
  • মন্তব্যের শ্রেণিবদ্ধকরণ (বাগ, কোড স্টাইল ইত্যাদি)
  • আর্কিটেকচার / ডিজাইন অনুসরণ করতে সম্মত
  • কোড শৈলীতে সম্মত

আপনি যদি পর্যালোচকদের কাছ থেকে অগ্রাধিকার না পান তবে আপনার দায়িত্বপ্রাপ্ত প্রকল্প পরিচালক / টিম লিডারকে জিজ্ঞাসা করুন; ব্যয়গুলির জন্য দায়বদ্ধ ব্যক্তির অগ্রাধিকার সম্পর্কে একটি মতামত থাকা উচিত।

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

যদি আপনার বিকাশকারী দল "স্বাদ সম্পর্কিত সমস্যাগুলির" বিষয়ে একমত না হয় (যেমন কোনও সদস্যের পরিবর্তনশীল "এম_" দিয়ে শুরু করা উচিত), তবে প্রতিটি পর্যালোচক আপনাকে তার স্টাইল অনুসরণ করতে বাধ্য করবে, যা সময় / অর্থের অপচয় মাত্র।


1

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

আমার পরামর্শ সময় বাঁচানোর জন্য। প্রতিক্রিয়া ত্বরান্বিত করুন। আমি করতাম:

  • একই ভুলটি করা এবং একই মন্তব্য 50 বার উত্পন্ন এড়াতে আরও অন্তর্বর্তী পর্যালোচনা করুন
  • আপনার কোডটি পর্যালোচনা করার সাথে সাথে একজন পর্যালোচকের সাথে বসুন যাতে আপনি সমস্যাগুলি সামনে আসার সাথে সাথে কথা বলতে পারেন, সুতরাং পরবর্তী প্রতিশ্রুতিতে মুছে ফেলা হবে 300 "ইস্যু" নথিপত্র এড়ানো এড়ানো
  • কোডটি লেখার সাথে সাথে তারা "ভিন্ন" কী করবে তা দেখার জন্য এই "বাস্তব" বিকাশকারীদের মধ্যে কিছু সময়ের সাথে যুক্ত করুন

জুটি বাঁধার বিরুদ্ধে লোকেরা তর্ক করতে পারে কারণ "এটি আরও বেশি সময় নেবে" তবে এটি সম্ভবত এখানে সমস্যা নয়।

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