ভিজ্যুয়াল স্টুডিও অনুপস্থিত এক্সএমএল মন্তব্য সতর্কতা


197

আমার 500 টিরও বেশি Missing XML Commentসতর্কতা সহ একটি প্রকল্প রয়েছে । আমি জানি আমি এক্সএমএল মন্তব্য বৈশিষ্ট্যটি সরিয়ে ফেলতে পারি, বা খালি মন্তব্যের স্নিপেটগুলি যেকোন জায়গায় পেস্ট করতে পারি, তবে আমি এমন একটি জেনেরিক সমাধান পছন্দ করব যেখানে আমি একটি পরিবর্তন করতে পারি যা এই ধরণের সমস্ত সতর্কতা অক্ষম করে।

আমি এখন যা করি তা হ'ল

///<Summary>
/// 
///</Summary>

অথবা

#pragma warning disable 1591

এটি সম্ভব হলে ঠিক কৌতূহল ছিল।


3
আসল প্রশ্নটি কী? এক্সএমএল মন্তব্যগুলি অনুপস্থিত থাকাকালীন যে সতর্কতাগুলি উত্পন্ন হয় তা অক্ষম করার জন্য আপনি অন্য উপায়টি জানতে চান? প্রকল্পের বৈশিষ্ট্যগুলিতে "বিল্ড" ট্যাবে পরিবর্তন হয় এবং "এক্সএমএল ডকুমেন্টেশন ফাইল" নির্বাচন করে। যাইহোক, আমি সতর্কতাগুলি দমন না করে অনুপস্থিত ডকুমেন্টেশন যুক্ত করার পরামর্শ দেব।
গর্জেসনেগার

এটি একেবারে সঠিক তবে এটি সম্পর্কে আগ্রহী ছিলাম যে আমি কীভাবে এক জায়গায় থেকে এটি সমাধান করতে পারি যেহেতু আমি এতে নতুন ছিলাম।
নিবিড় ধোলাকিয়া

এই সম্পর্কিত প্রশ্ন সাহায্য করতে পারেন: stackoverflow.com/questions/11444631/... stackoverflow.com/questions/3630282/...
Mightymuke

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

উত্তর:


318

উপরে প্রস্তাবিত হিসাবে, সাধারণভাবে আমি মনে করি না যে এই সতর্কতাগুলি উপেক্ষা করা উচিত (দমন করা)। সংক্ষিপ্তসার হিসাবে, সতর্কতার আশেপাশের উপায়গুলি হ'ল:

  • প্রকল্পের পরিবর্তন করে সতর্কবার্তা বন্ধ করুন Properties> Build> Errors and warnings> Suppress warnings1591 লিখে
  • এক্সএমএল ডকুমেন্টেশন ট্যাগগুলি যুক্ত করুন (এর জন্য ঘোস্টডক বেশ কার্যকর হতে পারে)
  • সংকলক বিকল্পগুলির মাধ্যমে সতর্কতা দমন করুন
  • টিকচিহ্ন তুলে দিন প্রকল্পে "এক্সএমএল ডকুমেন্টেশন ফাইল" চেকবক্সটি Properties> Build>Output
  • যোগ #pragma warning disable 1591নিজ নিজ ফাইল উপরের এবং #pragma warning restore 1591নীচের অংশে অবস্থিত

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

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

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

25
@ জেআরউঘান: আমি সম্পূর্ণ একমত সবচেয়ে খারাপ দিকটি হ'ল, আপনি যখন অবশেষে আপনার কোডটি সঠিকভাবে ডকুমেন্ট করার জন্য সময় পান, তখন এই সরঞ্জামগুলি আপনার আসল ডকুমেন্টেশনের কভারেজটি কতটা পুঙ্খানুপুঙ্খভাবে তা বলা অসম্ভব করে তোলে। ডকুমেন্টেশন কভারেজ গণনা করে এমন কোনও সরঞ্জাম সর্বদা 100% পড়বে। সুতরাং আপনাকে প্রতিটি এক্সএমএল মন্তব্য পড়ার এবং কোডটি নথিভুক্ত করার পক্ষে যথেষ্ট কিনা তা মূল্যায়নের মানসিকভাবে ক্লান্তিকর কাজটি আপনাকে আক্ষরিক অর্থে যেতে হবে। একটি বৃহত প্রকল্পে এটি করার পরে, আমি আপনাকে বলতে পারি, এটি মোটেও মজাদার নয়। দয়া করে মানুষ! এই অটো-ডকুমেন্টেশন সরঞ্জামগুলি ব্যবহার করবেন না!
হায়ারডমাইন্ড

36
@ গর্জনেগার: এই ক্ষেত্রে নয়। এটি ত্রুটিযুক্ত হাতিয়ার নয়, এটি সম্পূর্ণ ধারণা। আপনি যদি চান তা যদি ভিএস2012 মানকযুক্ত এক্সএমএল মন্তব্যে পদ্ধতি / পরামিতি স্টাবগুলি যুক্ত করে। তবে এমন মন্তব্যে যুক্ত হওয়া যা পদ্ধতির নামগুলির দীর্ঘতর সংস্করণ এবং এটিকে ডকুমেন্টেশন বলা ঠিক ভিজ্যুয়াল ক্লাটার।
হায়ারডমাইন্ড

74

সতর্কতাটি অক্ষম করুন: প্রকল্পের বৈশিষ্ট্যে যান (আপনার প্রকল্পে ডান ক্লিক করুন এবং প্রসঙ্গ মেনু থেকে বৈশিষ্ট্যগুলি নির্বাচন করুন) বিল্ড ট্যাবে যান এখানে চিত্র বর্ণনা লিখুন

সতর্কতা পাঠ্যবক্সে 1591 যুক্ত করুন এখানে চিত্র বর্ণনা লিখুন


4
কমা-বিচ্ছিন্ন তালিকার সাথে একটি কবিতার মতো কাজ করে: "S125, CS1591, S1172"। একটি বিল্ড পরে warings অদৃশ্য হয়ে যায়।
এএফডি

9
প্রশ্নের উত্তর দেওয়ার জন্য এবং সতর্কবাণীগুলি দমন করতে হবে কিনা তা নিয়ে বক্তৃতা না দেওয়ার জন্য ধন্যবাদ!
ডাল

31

প্রথমটির .csprojমধ্যে একটি <noWarn>1591</noWarn>ট্যাগ অন্তর্ভুক্ত করতে আপনি আপনার প্রকল্পের ফাইলটিও পরিবর্তন করতে পারেন <PropertyGroup>। মূলত আলেকজান্দ্রু বুকুরের নিবন্ধটি এখানে

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    ...
    <NoWarn>1591</NoWarn>
  </PropertyGroup>
  ...
</Project>

3
এটি বর্তমান দিনের উত্তর হওয়া উচিত।
এডগার সালাজার

3
একমত। বেশিরভাগ উত্তর অন্যান্য সম্পাদক যেমন ভিজ্যুয়াল স্টুডিও কোডের সাথে কাজ করে না।
ক্রিজিস্তফফ জেলুসনিয়াক

9

প্রকল্পের বৈশিষ্ট্যে যান এবং জেনারেট এক্সএমএল ডকুমেন্ট বিকল্পটি চেক করুন che

এক্সএমএল ডকুমেন্টেশন ফাইলটি চেক করুন

পুনরায় কম্পাইল করুন এবং সতর্কতাগুলি সরে যাওয়া উচিত।


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

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

4

এটি একটি মন্তব্য হত তবে আমি সীমাবদ্ধতার সাথে এটি ফিট করতে পারি না:

আমি কেবলমাত্র রেফারেন্স.সি এবং ওয়েব সার্ভিস আমদানির জন্য তাদের অক্ষম করতে চাই। আসলে আমি একটি ম্যাক্রো ব্যবহার করছি এটি কোনও ফাইলের জন্য করতে। কেবল ফাইলটি খুলুন এবং এই ম্যাক্রোটি কার্যকর করুন (ভিএস 2010 এ পরীক্ষিত):

Sub PragmaWarningDisableForOpenFile()
    DTE.ActiveDocument.Selection.StartOfDocument()
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.LineUp()
    DTE.ActiveDocument.Selection.Insert("#pragma warning disable 1591")
    DTE.ActiveDocument.Selection.EndOfDocument()
    DTE.ActiveDocument.Selection.NewLine()
    DTE.ActiveDocument.Selection.Insert("#pragma warning restore 1591")
    DTE.ActiveDocument.Save()
End Sub

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


2
আমি মনে করি স্বয়ংক্রিয়ভাবে উত্পাদিত সামগ্রীগুলির জন্য এই সতর্কতাটি দেখা উচিত নয়, সম্ভবত আপনাকে প্রকল্পের বৈশিষ্ট্যগুলিতে সংশ্লিষ্ট সেটিংসটি পরীক্ষা করতে হবে।
গর্সনেগগার 12'12

1
নাহ, এগুলি সমস্ত মাত্র XML- মন্তব্য সতর্কবার্তা সক্ষম করে দেখানো হয়েছে। এবং কেবল অটোজেনেটেড কোডের জন্য এটিকে অক্ষম করার মতো কোনও বিকল্প নেই। আপনি কোডটি পুনঃজেনের প্রয়োজন হয় যখন স্নিপড জন্য।
কেজেলেস্কি

প্রকল্পের বৈশিষ্ট্যগুলির অধীনে Code Analysis, একটি বিকল্প রয়েছে Supress results from generated code। প্রতিটি কোড পুনর্জন্মের পরে ম্যাক্রো পুনরায় চালু করা আসলে কোনও সমাধান আইএমও নয়। যদি উপরের বিকল্পটি আপনার পক্ষে কাজ করে না, সম্ভবত কোড জেনারেটরের পরিবর্তে প্রগমা নির্দেশটি স্বয়ংক্রিয়ভাবে যুক্ত করার জন্য সামঞ্জস্য করা যেতে পারে?
লাউজিন

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