কোডটি কি ভাল অনুশীলন পর্যালোচনা করছে?


32

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

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

এর সুবিধাগুলি কী কী এবং কোনও ত্রুটি আছে কি?


9
এটি অনানুষ্ঠানিক / নৈমিত্তিক কোড পর্যালোচনাগুলির মতো শোনাচ্ছে এবং কোড পর্যালোচনা একটি ভাল জিনিস (টিএম)। এমনকি কোড পর্যালোচনার জন্য আমাদের একটি বোন সাইট রয়েছে
ইয়ানিস

@ এল ইউসুবভ, মন্তব্য অবশ্যই ওবেদ এর উত্তরের অন্তর্ভুক্ত থাকতে হবে, আমার ধারণা)))
সুপারম

2
একটি শেখার পরিবেশ সমর্থন করে। এটি দর্শকদের পক্ষে যতটা লেখক ততই।
ম্যাথট্যাক

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

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

উত্তর:


52

কোড পর্যালোচনা একটি দুর্দান্ত অনুশীলন।

ভুলগুলি থেকে শিখার এবং নির্দিষ্ট সমস্যাগুলি অন্যরা কীভাবে সমাধান করে তা সম্ভবত দেখার সেরা উপায়। কোড বেসে মান বজায় রাখার অন্যতম সেরা উপায় এটি।

কোড পর্যালোচনাগুলি অনেক সংস্থায় ঘটে, যদিও এটি নির্দিষ্ট করে বলা যায় যে এখানে একটি নির্দিষ্ট প্রক্রিয়া রয়েছে যা তারা সকলেই অনুসরণ করে।

আরও আনুষ্ঠানিক কোড পর্যালোচনাতে, একজন প্রবীণ (বা বেশ কয়েকজন সিনিয়র) তাদের বিকাশকারীদের সাথে তাদের কোড পর্যালোচনা করতে, একই সাথে প্রস্তাবনা এবং শিক্ষাদান প্রস্তাব দিয়ে বসবেন।

কোড পর্যালোচনার অতিরিক্ত সুবিধাগুলি (এই প্রশ্নের জন্য মন্তব্য হিসাবে), অন্তর্ভুক্ত:

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

1
হ্যাঁ, কোড পর্যালোচনাগুলি ভাল। কিন্তু এটি কি বিকাশকারীদের মন্থর করবে না?
রাদু মুর্জিয়া

4
@ সোবালান - আচ্ছা, কোড পর্যালোচনাগুলির অর্থ যদি বাগগুলি আগে ধরা পড়ে এবং খারাপ ডিজাইনগুলি তাদের প্রযোজনায় যাওয়ার সুযোগ পাওয়ার আগেই সংশোধন করা হয়, আপনি কী ভাবেন?
ওডে

9
@ সোবোলান: গুণমান, গতি, দাম - যে কোনও দুটি বেছে নিন।
দী

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

4
@ সোবালান: আমার অভিজ্ঞতা কোড পর্যালোচনা বিকাশকারীদের গতি বাড়ায় । আপনি আরও ত্রুটিগুলি দ্রুত ধরে ফেলেন এবং অন্যান্য বিকাশকারীরা যা করছেন তার সাথে আপনার সমাধানগুলিকে সামঞ্জস্য করুন।
টিনাম

15

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

কোড পর্যালোচনা বিভিন্ন ধরণের আছে:

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

কেবলমাত্র একটি associated disadvantageযেখানে ফর্মাল কোড পর্যালোচনাগুলির পর্যালোচনা ইভেন্ট এবং সম্পাদনের সময় প্রস্তুতির জন্য যথেষ্ট বিনিয়োগের প্রয়োজন হয়

আরও উল্লেখ নীচে তালিকাভুক্ত করা হয়েছে (আরও গভীর ডাইভ রিডিং জন্য)


1
আপনার দ্বিতীয় বুলেট প্রশস্ত করা যেতে পারে। কোনও ধরণের আনুষ্ঠানিক কোড পর্যালোচনার জন্য সময় বরাদ্দ করতে দৃ conv় প্রতিজ্ঞায় ব্যর্থ হয়ে আমি যখনই টর্টিজে অন্তর্নির্মিত ইতিহাস / ডিফ সরঞ্জামগুলি ব্যবহার করে উত্স নিয়ন্ত্রণ থেকে নতুন সংশোধনগুলি নীচে নামি তখনই আমার সহকর্মীদের পরিবর্তনগুলি লক্ষ্য করি।
ড্যান নীলি

@ ড্যানিয়েলি ভাল মন্তব্য, আমি এটি নিশ্চিতভাবে অন্তর্ভুক্ত করব।
ই এল ইউসুবভ

11

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

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

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

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


আমি একেবারে আপনার সাথে একমত, তবে আমি আশা করি যে আমাদের দলটি পেশাদার পেশাদার যথেষ্ট লজ্জা পাবে না তবে পরিবর্তে শিখবে।
সুপারম

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

5
@ সুপেরম, এই নিয়মটি একটি কারণ হিসাবে "জনসাধারণের কাছে প্রশংসা, একান্তে সমালোচনা" is
এইচএলজিইএম

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

8

এই ধরণের কোড পর্যালোচনা নিয়ে সমস্যা, প্রতি দু'সপ্তাহে একজন বিকাশকারী, অগ্রগতি ধীর হবে। স্পটলাইটের অধীনে প্রত্যেকের পালা নেওয়ার কয়েক মাস হতে পারে।

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

বেশ কয়েকটি ইস্যু নিয়ে সিদ্ধান্ত নিতে হবে:

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

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


3

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

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


2

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

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

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


1

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

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

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

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


+1 আমরা সকলেই 'এটিকে কার্যকর করতে পারি' তবে কোডটি পঠনযোগ্য এবং রক্ষণাবেক্ষণযোগ্য কিনা তা নিশ্চিত করার বিষয়ে আরও রয়েছে, বিশেষত সম্মেলনগুলি অনুসরণ করে। সবচেয়ে উত্তেজনাপূর্ণ কাজ নয় তবে খুব মূল্যবান।
কर्क ব্রডহર્স্ট

1

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

আমার দলে, প্রতিটি প্রতিশ্রুতির জন্য একটি কোড পর্যালোচনা প্রয়োজন (বড় পরিবর্তনগুলি আনুষ্ঠানিকভাবে শেষ হয়, ছোট পরিবর্তনগুলি 'দ্রুত চেহারা' হিসাবে শেষ হয়) being আমি স্পষ্টতই অনুভব করি যেহেতু আমার ইঞ্জিনিয়ারিং / ডিজাইনের চপগুলি এটির দ্বারা উত্সাহিত হয়েছে, বিশেষত যেহেতু আমি জানি যে আমি 'দেখছি' তাই আমি এখনই টার্মিনালের চেয়ে হোয়াইটবোর্ডটি বের করার সম্ভাবনা বেশি। :)

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


আমি কেবল / ইতিমধ্যে 1.5 বছর ধরে কাজ করছি এবং আমি অনুরূপ কারণে সেই কোডগুলির পর্যালোচনা চাই। ))
সুপারম

1

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

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

আমার সংস্থায় আমরা কিছু কোড পর্যালোচনা করার চেষ্টা করছি। তবে 'খরগোশের তাড়া' (বৈশিষ্ট্য তৈরির) সাথে খুব বেশি সময় ব্যয় হয়।


'খরগোশের তাড়া' আমার কাছে খুব পরিচিত মনে হয়))। তবে তবুও আমি আশা করি আমরা কোড পর্যালোচনা প্রবর্তন করতে পরিচালনা করব, বিশেষত যখন আমাদের পরিচালকদের কিছুতেই আপত্তি নেই।
সুপারম

1

আজকাল বেশিরভাগ স্টাইল এবং বেসিক সিনট্যাক্স ধরণের চেকগুলি সরঞ্জাম ব্যবহার করে ধরা পড়ে (এফএক্সকপ ইত্যাদি)।

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

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

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

কফির অঞ্চলে তালিকার একটি গাদা, একটি চিহ্নিতকারী এবং এক কাপ কফি নিয়ে বসে এই জন্য দুর্দান্ত।


0

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


-2

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


1
কোনও ব্যাখ্যা ছাড়াই, অন্য কেউ যদি বিপরীত মতামত পোস্ট করে তবে এই উত্তরটি অকেজো হতে পারে। উদাহরণস্বরূপ, যদি কেউ 'কোড পর্যালোচনা বিষয়গুলিকে অস্পষ্ট করে, "সামগ্রিক" দেখা কঠিন করে তোলে এমন একটি দাবি পোস্ট করে তবে এই উত্তরটি কীভাবে পাঠককে দুটি বিরোধী মতামত বাছাই করতে সহায়তা করবে? কীভাবে উত্তর দেওয়া যায় সেই নির্দেশিকাগুলি পূরণের জন্য এটি আরও ভাল আকারে রূপান্তরিত করার বিষয়ে বিবেচনা করুন
gnat
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.