একটি কোড পর্যালোচনা বিষয়বস্তু বা উদ্দেশ্য (মানযোগ্য)?


55

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

আমরা উত্স নিয়ন্ত্রণের জন্য টিএফএস ব্যবহার করছি (আমরা এটি কাজগুলি / বাগ ট্র্যাকিং / প্রকল্প পরিচালনার জন্যও ব্যবহার করেছি, তবে আমরা এটি জিরায় স্থানান্তরিত করেছি ) উন্নয়নের জন্য ভিজ্যুয়াল স্টুডিও ২০০৮ এর সাথে with

কোড পর্যালোচনা করার সময় আপনি কী কী জিনিসগুলির সন্ধান করছেন?

  • এই জিনিসগুলি আমি নিয়ে এসেছি
    1. FxCop বিধি প্রয়োগ করুন (আমরা মাইক্রোসফ্টের দোকান)
    2. কর্মক্ষমতা (কোনও সরঞ্জাম?) এবং সুরক্ষা ( OWASP ব্যবহারের বিষয়ে চিন্তা - কোড ক্রলার ) এবং থ্রেড সুরক্ষা পরীক্ষা করুন Check
    3. নামকরণের সম্মেলনগুলি মেনে চলেন
    4. কোডটি প্রান্তের কেস এবং সীমানা শর্তাবলী অন্তর্ভুক্ত করা উচিত
    5. ব্যতিক্রমগুলি সঠিকভাবে পরিচালনা করা উচিত (ব্যতিক্রমগুলি গ্রাস করবেন না)
    6. কার্যকারিতা অন্য কোথাও সদৃশ হয়েছে কিনা তা পরীক্ষা করুন
    7. একটি পদ্ধতির দেহটি ছোট হওয়া উচিত (20-30 লাইন), এবং পদ্ধতিগুলির মধ্যে একটি জিনিস এবং কেবল একটি জিনিস করা উচিত (কোনও পার্শ্ব প্রতিক্রিয়া নেই এবং টেম্পোরাল কাপলিং এড়ানো উচিত -)
    8. পদ্ধতিতে নালগুলি পাস / পাস করবেন না
    9. ডেড কোড এড়িয়ে চলুন
    10. নথি পাবলিক এবং সুরক্ষিত পদ্ধতি / বৈশিষ্ট্য / ভেরিয়েবল

অন্যান্য কোন বিষয়গুলির জন্য আমাদের সাধারণত সন্ধান করা উচিত?

আমি দেখার চেষ্টা করছি যে আমরা পর্যালোচনা প্রক্রিয়াটির পরিমাণ নির্ধারণ করতে পারি কিনা (এটি বিভিন্ন ব্যক্তি দ্বারা পর্যালোচনা করা হলে এটি অভিন্ন আউটপুট তৈরি করতে পারে) উদাহরণ: "পদ্ধতিটি বলার ক্ষেত্রে কোডের 20-30 লাইনের বেশি হওয়া উচিত নয়" "পদ্ধতিটি বলার বিপরীতে" শরীর ছোট হওয়া উচিত "।

অথবা কোড পর্যালোচনাটি খুব সাবজেক্টিভ (এবং এক পর্যালোচক থেকে অন্যের কাছে পৃথক হবে)?

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

বিকাশকারীদের দ্বারা লিখিত ভাল / খারাপ কোড চিহ্নিত করার জন্য আপনি অন্য কোন উদ্দেশ্য / পরিমাণের ব্যবস্থা অনুসরণ করেন?

বইয়ের রেফারেন্স: ক্লিন কোড: রবার্ট মার্টিনের চৌকস সফটওয়্যার কারুকাজের একটি হ্যান্ডবুক


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

4
যদি আমরা নাল ফিরে না এড়ায়, ক্লায়েন্ট / গ্রাহক অ্যাপ / লাইব্রেরি যখন আমাদের পদ্ধতিটি কল করে তখন আমরা নালগুলির জন্য পরীক্ষা করা বাদ দিতে পারি। রবার্ট মার্টিনের ক্লিন কোড থেকে - অধ্যায় ((ত্রুটি হ্যান্ডলিং) পিপি: ১১০ "আমরা যখন শূন্য ফিরে আসি তখন আমরা প্রয়োজনীয়ভাবে নিজের জন্য কাজ তৈরি করি এবং আমাদের কলকারীদের সমস্যা সমাধান করি। একটি আবেদন স্পিনিং প্রেরণ করার জন্য এটি একটি নিখুঁত নাল চেকই লাগে takes নিয়ন্ত্রণের। "

3
আপনি যে কোনও একটি বই পড়তে বই কিনতে চান না তার জন্য এটি ব্যাখ্যা করতে পারেন :)? দেখে মনে হচ্ছে বেশিরভাগ সি # প্রোগ্রামের জন্য,

2
এখানে একটি ব্লগ পোস্ট যা ব্যাখ্যা করে যে কেন নাল ফেরানো খারাপ ধারণা। thehackerchickblog.com/2008/10/… । এবং আরও একটি লিডামন্ডড / ব্লগ / শোল্ডার-ওয়ে- রিটার্ন- নল- ফর্ম-আওয়ার-মিথডস । বব তার বইতে যা পরামর্শ দিয়েছে তা হ'ল আমরা যদি নাল ফেরার প্রলোভন দেখায় তবে আমরা একটি নাল রেফারেন্স ব্যতিক্রম ছুঁড়ে দিতে পারি বা তার পরিবর্তে একটি স্পেশাল_সিএএসই বস্তুটি ফিরিয়ে দিতে পারি। চেইন পদ্ধতি কলগুলির কথা চিন্তা করুন this.Foo().FooBar().FooBarBar(); যদি ফু থেকে এখানে ফিরে আসা বস্তুটি শূন্য হয় তবে আপনি স্পষ্টতই এড়াতে পারবেন "অবজেক্টের রেফারেন্স কোনও অবজেক্টের উদাহরণ হিসাবে সেট করা হয়নি" FooBar ()

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

উত্তর:


25

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

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

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

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

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

আমি এই জিনিসগুলি উপকারী বলে মনে করেছি:

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

2) ag র‌্যাগড

   looking

যে পাঠ্য না

   line up is hard to read 

বিষয়বস্তুর জন্য

BTW, কে & R এর পাঁচটি (পাঁচ) স্পেস ইন্ডেন্টযুক্ত, তাই কর্তৃপক্ষ আপিল অখাদ্য হয়। শুধু ধারাবাহিক হতে হবে।

৩) পর্যালোচনা করার জন্য ফাইলের একটি লাইন সংখ্যাযুক্ত, অপরিবর্তনীয়, সর্বজনীনভাবে উপলব্ধ অনুলিপিটি পর্যালোচনার আগে hours২ ঘন্টা বা তারও বেশি সময় ধরে দেখানো উচিত।

4) দ্য ফ্লাইয়ে কোনও নকশা নেই। যদি কোনও সমস্যা বা সমস্যা থাকে তবে তার অবস্থানটি নোট করুন এবং চালিয়ে যান।

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

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

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

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

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

যদি আপনি প্রয়োজনীয়তার উপর ভিত্তি করে পরীক্ষাগুলি অবলম্বন করতে পারেন তবে ভাল, যেমন মহিলা "যখন হ্যারি মেট স্যালি" তে বলেছেন , আমার যা আছে তা আমার কাছে থাকবে!

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

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

অনেকগুলি উপায়ে, আমি মনে করি প্রযুক্তি সংস্কৃতি এবং প্রত্যাশা সম্পর্কে ততটুকু যেমন একটি নির্দিষ্ট সরঞ্জাম সম্পর্কে। সমস্ত "চিন্তা করুন সুইস পরিবার রবিনসন " / Flintstones / McGyver improvisations যে হৃদয় আহ্লাদ ও মন চ্যালেঞ্জ। আমরা আমাদের জিনিস কাজ করতে চান । সেখানে যাওয়ার জন্য একটি একক পথ নেই, "গোয়েন্দা তথ্য" এর চেয়ে বেশি যেটি 1960 এর এআই প্রোগ্রামগুলির দ্বারা কোনওভাবে বিমূর্ত এবং স্বয়ংক্রিয়ভাবে হতে পারে ।


এটি একটি ভাল উত্তর, বিশেষত লোকদের গ্রেডিংয়ের ক্ষেত্রে - এটি কোনও কোড পর্যালোচনার মূল বিষয় নয়।
ধান

25

আপনি বর্ণিত বেশিরভাগ পয়েন্টগুলি কেবল কোড-গঠন বা "পৃষ্ঠতল" স্টাফের বিষয়:

  • নামকরণের সম্মেলনগুলি মেনে চলেন
  • ডেড কোড এড়িয়ে চলুন
  • দলিল
  • ...

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

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


স্বয়ংক্রিয় সরঞ্জাম দুটি করতে পারে:

  • কিছু স্বয়ংক্রিয় বিল্ড প্রক্রিয়াতে একীভূত হন যা প্রতি রাতে চলে
  • ইমেল প্রতিবেদন পাঠান
    • সতর্কতা (উদাহরণস্বরূপ, একটি পদ্ধতি 20 লাইনের চেয়ে দীর্ঘ)
    • ত্রুটি (উদাহরণস্বরূপ, একটি পদ্ধতি 50 টি লাইনের চেয়ে দীর্ঘ)

মেলটি সমস্ত দলকে, অথবা যে ব্যক্তি কোডটি প্রতিশ্রুতি দেয় না যে কোনও পরীক্ষায় পাস করে না, তাদের কাছে পাঠানো যেতে পারে - বা আপনি কিছু রিপোর্টিং ওয়েব ইন্টারফেস ব্যবহার করতে পারেন (নেট এবং পিএইচপি সম্পর্কে একই নোট)


আমি আরও যুক্ত করব যে কোডটি উত্পাদনে ব্যবহারের আগে একটি নির্দিষ্ট সংখ্যক ত্রুটি সনাক্ত করতে স্বয়ংক্রিয় পরীক্ষার সাহায্য করতে পারে। আমি মনে করি স্বয়ংক্রিয় পরীক্ষাগুলি কিছু মেট্রিকগুলিতেও সহায়তা করতে পারে।


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

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

তবে একটি কোড-পর্যালোচনার জন্য যা কেবল কোড-ফর্ম্যাটিংয়ের চেয়েও গভীরতর হয়, আপনার আধা ঘণ্টারও বেশি সময় প্রয়োজন ...


। নেট (এই মুহূর্তে ভাল সি # এখনই) এর জন্য এই সরঞ্জামটি স্টাইলকপ। কোড.msdn.microsoft.com/sourceanalysis
ব্রায়ান অ্যান্ডারসন

15

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

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


2
এটি তাদের কাজের ক্ষেত্রে কে ভাল of তার তুলনা না হওয়ার বিষয়ে আপনার মন্তব্যের জন্য +1। এটি মনোবলের জন্য খারাপ হবে!

2
@ কার্সটেনএফ: সত্য। এছাড়াও বিকাশকারী একটি আরও জটিল টাস্ক (কোডের আরও লাইন) নিয়ে কাজ করছেন যেখানে ডেভলপার বি একটি সাধারণ টাস্কে কাজ করছে এবং কম স্কোর করতে পারে (পয়েন্ট স্কেলে)। এটা বলা অন্যায্য হবে যে তাদের কাজ / কাজ উভয়কেই স্বাভাবিক করার কোনও উপায় না থাকলে ডিএএ খারাপ কাজ করেছে

2
এছাড়াও কিছু বিকাশকারী তাদের সহকর্মীদের অসম্মান করার চেষ্টা করতে পারে।

এই পয়েন্ট ঠিক আছে। ছোট্ট ধারণাগুলি (গ্রেডিংয়ের মতো) পেটুইনেস বাড়ে।
ড্যান রোজনস্টার্ক

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

5

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

আমার পরামর্শ হ'ল কোড রিভিউগুলি চেষ্টা করে উন্নত করা যাতে লোকেরা নির্বিচারে এবং বিরোধী পরিবেশে প্রকাশ্যে ধারণা এবং মতামত ভাগ করে নেয়। যদি আপনি এটি করতে পারতেন তবে আপনি আপনার নির্বোধ চেকলিস্টের ভিত্তিতে প্রোগ্রামারদের উপর রায় দেওয়ার চেয়ে 100X ভাল থাকবেন যা প্রোগ্রামারদের মূল্যায়ন করার জন্য ভাল কাজ করতে পারে port আমি মনে করি প্রচুর প্রোগ্রামার নিজেরাই ইতিমধ্যে গর্বিত এবং কঠোর হন যদি তারা কোড রিভিউগুলিতে খারাপভাবে না থাকে; আমি প্রশ্ন করি যে খারাপ সম্পাদনের জন্য আরও 'শাস্তি' সাধারণত সহায়ক helpful


4

আমার একমাত্র পরামর্শ হ'ল আপনার কোড পর্যালোচনা প্রক্রিয়াটিকে খুব কঠোর করা এড়াতে হবে - সর্বাধিক গুরুত্বপূর্ণ বিষয় হ'ল কোড পর্যালোচনাটি আসলে ঘটে এবং এটি গুরুত্ব সহকারে নেওয়া হয়

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


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

4

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


3

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


সরঞ্জামটি তৈরি করতে 100 ঘন্টা, এটি ব্যবহার করে 1000 টি সংরক্ষণ করা হয়েছে।
ড্যান রোজনস্টার্ক

3

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

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

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


2

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

আমি নিতে সাধারণ ফর্ম্যাটটি হ'ল:

  1. আমরা কী ঠিক করছি?
  2. এটি কি কারণ ছিল? (কোড দেখুন)
  3. আমরা কীভাবে এটি ঠিক করছি?
  4. আমাকে নতুন কোডটি দেখান
  5. কোডটি আমাকে কাজ করে দেখান

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

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


আপনার উত্তর থেকে পরিষ্কার নয়: এফএক্সকপ কি সেই ভঙ্গুরতা ধরেছিল, নাকি আপনি?
ড্যান রোজনস্টার্ক

2

সাইক্লোমাটিক জটিলতা (সিসি) কোডটি মূল্যায়ন করার একটি উপায় যা 'খারাপ নয়'।

সিসি সহ উচ্চতর আসল কোডটিতে আমার কাছে একটি উচ্চ "এখানে কী চলছে, আমি মনে করি না" ফ্যাক্টরটি রয়েছে। লোয়ার সিসি কোডটি বের করা সহজ।

স্পষ্টতই, সাধারণ ক্যাভ্যাটগুলি মেট্রিকের জন্য আবেদন করে।


1
@ আফেরমেরাআইনফো: হাহ?
পল নাথান

1

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

অন্যান্য জিনিসগুলি আমি সন্ধান করব:

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

1

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

কোডের মান:

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

বৈশিষ্ট্য সম্মতি:

  1. বৈশিষ্ট্য প্রয়োজনীয়তার একটি পর্যালোচনা এবং প্রয়োজনীয়তা এবং / অথবা ডিজাইন পর্যালোচনা থেকে কোনও পরিবর্তন
  2. প্রয়োজনীয়তার সাথে সম্পর্কিত কার্যকারিতা ডেমো করুন এবং একে একে পরীক্ষা করে দেখুন
  3. প্রয়োগের সময় সফটওয়্যারটির অন্যান্য দিকগুলির যে কোনও অতিরিক্ত প্রয়োজনীয়তা আলোচনা করুন (যেমন স্থাপনার পরিকল্পনা, অবকাঠামো ইত্যাদি)
  4. প্রয়োজনীয়তা থেকে কোনও বিচ্যুতি ব্যাখ্যা, যদি সেই বিন্দু দ্বারা হয়।

কোড পর্যালোচনার এই দুটি দিক যদি আপনি নিজেকে কভার করতে পারেন তবে আপনি সোনার।


1

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


1

এটা নির্ভর করে.

পর্যালোচনা কিছু অংশ সহজে গণনীয় (কোন FxCop সমস্যা, নেই StyleCop ত্রুটি, কোন CAT.NET ত্রুটি, ইত্যাদি)

স্টাইল, তবে বিষয়গত হতে পারে - তবে আপনি যেমন বলেছিলেন যে একবার আপনি আরও নির্দিষ্ট হওয়া শুরু করেন (কোনও পদ্ধতি> 20 লাইন নয়) তবে আপনি এটি পরিমাপ করতে পারবেন এবং এনডিপেন্ডের মতো সরঞ্জামগুলি স্বয়ংক্রিয়ভাবে এটি করতে পারে। কিছু জিনিস যদিও কখনও স্বয়ংক্রিয় হবে না - এজ কেস হ্যান্ডলিং যাচাইয়ের জন্য এটির জন্য পরীক্ষাগুলির প্রয়োজন হবে, যা কোড কভারেজটি নিয়ে আসে এবং 100% অনেক ক্ষেত্রেই অলঙ্ঘনীয় আদর্শ। সদৃশ চেক স্বয়ংক্রিয়ভাবে করা কঠিন। নাল চেকস, নিশ্চিত যে আমি আপনার সাথে একমত নই তবে আপনি এটির জন্য এনডিপেন্ড বিধি বা FxCop বিধি লিখতে সক্ষম হতে পারেন।

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


0

সঠিকভাবে চিহ্নিত করার জন্য একটি চিহ্নিতকরণ সিস্টেমটি কঠিন বলে মনে হচ্ছে তবে একটি পরিমাপের সরঞ্জাম হিসাবে সার্থক: আপনি যা পরিমাপ করতে পারবেন না তা আপনি উন্নত করতে পারবেন না। তবে আপনার সম্ভবত এটি গ্রহণ করা উচিত যে কিছু জিনিস সঠিকভাবে প্রমাণ করা কঠিন / অসম্ভব। ছদ্মবেশী জিনিসটি প্রতিটি মানের কতগুলি পয়েন্ট স্কোর করা উচিত তা কাজ করবে: উদাহরণস্বরূপ, যদি সম্মেলনগুলির নামকরণের স্কোর 2 পয়েন্ট করা হয়, তবে পদ্ধতিগুলি ছোট রাখার জন্য কতগুলি পয়েন্ট?

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

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


প্রিফেক্ট জিনিস হয়।

0

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


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