সিনিয়র এবং বসের সাথে প্রোগ্রামগুলি ভাল কাজ করা সত্ত্বেও পর্যালোচনা করা কি ভাল?


18

আমার সংস্থায়, কোনও প্রকল্পের সরবরাহের আগে, আমার বস আমার সিনিয়রদের আমার বা দলের সদস্যদের দ্বারা লিখিত প্রোগ্রামগুলি পর্যালোচনা করতে বলে বা কখনও কখনও বসও আমাদের সাথে পর্যালোচনার জন্য বসে থাকে।

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

তারা বলেছে যে পর্যালোচনা প্রোগ্রামটিকে অনুকূলিতকরণ এবং ক্যোয়ারী এক্সিকিউশনকে সহায়তা করে, তবে আমরা কি প্রোগ্রামের প্রকৃত কার্যকারিতার তুলনায় অপ্টিমাইজেশন পছন্দ করতে পারি?


6
আপনি কীভাবে নিশ্চিত হতে পারেন যে এটি কোনওর দ্বারা পর্যালোচনা না করেই ঠিকঠাক কাজ করছে যা জানেন না যে আপনি নিজের পরীক্ষা করার সময় আপনি যে আইডিয়োসিএনসিজেসগুলি ব্যবহার করেন যা আপনি ব্যবহার করেন
ratchet freak

কারণ তারা পরীক্ষার দল দ্বারা মডিউলের সম্পূর্ণ পরীক্ষার পরে কোড পর্যালোচনা করে।
হিমাংশু

15
@ হিমাংশু: পরীক্ষার পরে পর্যালোচনা অবশ্যই অনেক দেরিতে । পর্যালোচনা (গুলি) অগ্রগতিতে কাজ করা উচিত।
জানু হুডেক

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

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

উত্তর:


38

"ফাইন ফাইন ওয়ার্কিং" আসলেই দুর্দান্ত মেট্রিক, তবে আপনি যা লিখেছেন তা বোঝাতে সক্ষম দলের মধ্যে যদি আপনি একাই হন এবং এইভাবে এটি বজায় রাখেন তবে কোডটি মধ্য বা দীর্ঘমেয়াদির জন্য কোম্পানির পক্ষে অকেজো কাছাকাছি।

একটি ভাল কোড কমপক্ষে:

  • উদ্দেশ্য হিসাবে কাজ
  • মানব-পঠনযোগ্য / পরিষ্কার
  • সহজেই রক্ষণাবেক্ষণযোগ্য
  • ভবিষ্যতের পরিবর্তনের জন্য সহজেই বর্ধমান
  • নিরাপদ
  • অপ্রয়োজনীয় নির্ভরতা ছাড়াই
  • নামমাত্র অ-নামক ক্ষেত্রে সঠিকভাবে পরিচালনা করা hand
  • ইত্যাদি

(এর মধ্যে কয়েকটি প্রয়োজনীয়তা আসলে ওভারল্যাপিং হয় তবে স্বতন্ত্রভাবে বিবেচনা করা ভাল ...)

কোড পর্যালোচনাগুলি "কার্যকরী" অংশের বাইরে উদ্দেশ্যটি সরবরাহ করে, যা স্বয়ংক্রিয় পরীক্ষার মাধ্যমে করা যেতে পারে।

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

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


1
আমি যুক্ত করব যে কোডটি পরীক্ষা করে বোঝানো হয় না যে কোনও বাগ নেই, সীমাবদ্ধ ক্ষেত্রে যেখানে সফ্টওয়্যারটি ক্র্যাশ হয়।
ডাইজেডয়েস

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

12

আমি আপনার প্রশ্নের ব্যাখ্যা দিয়েছি "" আমার ক্রিয়াকলাপটি এমন একটি বিন্দুতে পর্যালোচনাতে কী করা যেতে পারে যেখানে এটি আর সংকলন করে না? "

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

আপনি বলেন এটি কাজ করে। এটি যাচাই করার জন্য টেস্টিং করা হয়। একটি মডিউল পরীক্ষায় উত্তীর্ণ হওয়ার অর্থ এই নয় যে মডিউলটি আবার স্পর্শ করা উচিত নয়।

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


3

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

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

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

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

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


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