কোডের মধ্যে বাগফিক্স মন্তব্য রাখা কি ভাল?


15

আমার দলটি সংস্করণ নিয়ন্ত্রণ হিসাবে ক্লিয়ার-কেস ব্যবহার করছে। আমি যে প্রকল্পে কাজ করছি তা 7-8 বছর আগে শুরু হয়নি। প্রকল্পের পুরো জীবনকালে আমাদের বেশ কয়েকটি রিলিজ বাগ-ফিক্স সার্ভিস প্যাক ছিল had ইত্যাদি সমস্যাগুলি বাগ ট্র্যাকিং সিস্টেমটি ব্যবহার করে ট্র্যাক করা হয় এবং বাগ-ফিক্সগুলিতে কাজ করা বেশিরভাগ লোকেরা START / এ মন্তব্যটি আবদ্ধ করার একটি রুটিন অনুসরণ করে / তারিখ, লেখক, বাগ-আইডি ইত্যাদির সাথে অবরুদ্ধ করুন block

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

অনুসরণ করা সবচেয়ে ভাল অনুশীলন কি?

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


3
আসল প্রশ্নটি তারা কেন এটি করে। উত্স নিয়ন্ত্রণের আগে থেকে এটি একটি খুব পুরানো পদ্ধতি হতে পারে।

@ অ্যান্ডারসন - আমি মনে করি ক্লিয়ারকেস চালু হওয়ার সাথে সাথে তাদের ব্যবহার সম্পর্কে সঠিক ধারণা নেই have সুতরাং সেই অনুশীলনটি আরও অনুসরণ করতে পারে ....
শর্ট

সন্ধান করা বিবেচনা?


আমি এটি খারাপ অভ্যাস বলব না। যাইহোক, সফ্টওয়্যার মানের পরিমাপের মধ্যে একটি উত্স কোডের মাধ্যমে মন্তব্য শতাংশ।
রুডি

উত্তর:


27

কোডটিতে মন্তব্য হিসাবে বাগফিক্স যুক্ত করার সমস্যাটি হ'ল, আপনি পুরো গল্পটি পাবেন না। যদি আমি কোড একটি পুরোপুরি সূক্ষ্ম টুকরা বাঁধা দেখুন "এই বাগ একটি ফিক্স আছে বাজে কথা ", আমার প্রথম প্রতিক্রিয়া বলতে হবে "তাই কি?"। কোড আছে, এটি কাজ করে। কোডটি বজায় রাখতে আমার কেবল একটি জিনিস জানতে হবে এটি একটি মন্তব্য যা এটি আমাকে কী করে তা বলে।

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

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


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

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

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

@ আন্ডারসেন - ধন্যবাদ আমরা জিরাকে ব্যবহার করছি। তবে এটি সঠিকভাবে ব্যবহার করছে কিনা তা আমার নিশ্চিত হওয়া দরকার।
শরত

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

23

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


3
একমত। যখন তারা উল্লেখযোগ্য মান যুক্ত করে তখন এই ধরণের মন্তব্য যুক্ত করুন। যদিও কোনও হ্যান্ডেল ঘুরিয়ে দেওয়ার জন্যই এগুলি করবেন না।
দ্রুত_নু

ভাল, এটি কিছু কোড রয়েছে "কেন" বলার মতামতের ধারণাটিকে সমর্থন করে। প্রোগ্রামার.সটাকেক্সচেঞ্জ
গ্যাব্রিয়েল

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

9

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


3

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


এটি একটি মিথ্যা বৈপরীত্য। আপনার প্রয়োজনীয় ডিজাইনের মন্তব্য থাকতে পারে না ("এই কারণেই আমরা xy z করলাম") এবং কমিট বার্তাগুলিতে বাগ আইডির উল্লেখ করতে পারি?
ম্যাথু ফ্ল্যাশেন

কোথায় বলে যে আপনি পারবেন না? আমি কোডে বাগ আইডি উল্লেখ করছি, ভিসিএস কমিট বার্তা নয়।
ফিজড

দুঃখিত আমি ভুল বুঝেছি. আমি ভেবেছিলাম আপনি বলছেন যে কোথাও বাগ আইডির ব্যবহার কার্যকর নয়।
ম্যাথু ফ্ল্যাশেন

কোনও সমস্যা নেই, তার অর্থ কেবল আমার উত্তর যথেষ্ট পরিষ্কার ছিল না। :)
fejd

2

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

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


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

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

ওহ সোর্সসেফ ... আপনার এবং আপনার দলের জন্য দুঃখিত।
জুলিয়েন রোনাকাগলিয়া

না, এটি কিছুই চেয়ে ভাল। এবং এই মুহূর্তে সমস্ত নতুন বিকাশ সাবভার্সনের সাথে করা হয় তাই প্রতি মাসে আমার সোর্সসেফের সাথে কম কাজ করতে হবে।
পুনরায় প্রতিস্থাপন করুন

1

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


1

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

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

vcs blame file.ext

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

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

এই বৈশিষ্ট্যটির জন্য ক্লিয়ার কেস কী আছে তা আমি জানি না।

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