প্রস্তাবিত .NET / C # কোডিং মান? [বন্ধ]


19

নেট / সি # প্রকল্পের জন্য আপনার কোডিং মানগুলি কী গুরুত্বপূর্ণ বলে মনে করেন? এটি কোঁকড়ানো ধনুর্বন্ধনী এবং স্পেসিং এবং পেডেন্ট্রির সাথে ডিল থেকে কিছু হতে পারে। অথবা এটি আরও মৌলিক প্রশ্ন হতে পারে যেমন .NET ফ্রেমওয়ার্কে কোন নেমস্পেসগুলি এড়ানো উচিত, কনফিগার ফাইলগুলির সাথে সর্বোত্তম অনুশীলন ইত্যাদি

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

উত্তর:


29

.NET ফ্রেমওয়ার্ক সংস্করণ 4.0 এর কোডিং মানগুলির বিষয়ে অফিসিয়াল মাইক্রোসফ্ট গাইড রয়েছে।

আপনি যদি 1.1 এর জন্য পুরানো সংস্করণ চান তবে এখানে চেষ্টা করুন

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


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

দয়া করে দয়া করে ডাউনটাতে কিছু প্রতিক্রিয়া পেতে পারি?
রায়ান হেইস

আপনি কি অনুসরণ করবেন না?
জেফো

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

10

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

এটি ডিফল্টর সাথে আসে এমন নিয়মগুলিও পরিবর্তন করতে পারেন।



5

আমরা আমাদের অফিসে এটি গ্রহণ। এটি ল্যান্স হান্ট দ্বারা রচিত এবং এটি মোটামুটি বিস্তৃত:

http://weblogs.asp.net/lhunt/pages/CSharp-Coding-Standards-document.aspx


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

4

এফএক্সকপ দিয়ে শুরু করুন । এটি আপনাকে আপনার বিদ্যমান কোডে সেরা অনুশীলন লঙ্ঘন সম্পর্কে বলবে।


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

2

আমি বিভিন্ন উত্স থেকে শৈলীর একটি সাধারণ সেট বাছাই করার চেষ্টা করি। এর আগে কিছু উল্লেখ করা হয়নি:


2

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

শুধু কোডিং নয়, প্রজেক্ট ম্যানেজমেন্ট ইত্যাদি ... একটি অবিশ্বাস্যরূপে মূল্যবান সংস্থান।

http://www.ssw.com.au/ssw/standards/default.aspx


2

পদ্ধতিগুলি সংক্ষিপ্ত হওয়া উচিত

বেশিরভাগ পদ্ধতিতে ক্লাসে বেশিরভাগ ক্ষেত্র ব্যবহার করা উচিত।

আপনার নামগুলি ভালভাবে চয়ন করুন।

যেমন ক্লিন কোড বইটি পড়ুন


2

আমি ক্যামেলব্যাক বিধি, পদ্ধতির নাম এবং এগুলি ছাড়াও কোডিং মান বজায় রাখতে নিম্নলিখিত অ্যাপ্লিকেশনগুলি ব্যবহার করছি

ঘোস্টডোক - প্রতিটি পদ্ধতিতে শীর্ষে একটি স্বয়ংক্রিয়-উত্পন্ন মন্তব্য যুক্ত করে। অ্যাপ্লিকেশনটি পদ্ধতির ভাল অন্তর্নিহিত সংক্ষিপ্তসার সরবরাহ করে। (বিনামূল্যে)

http://submain.com/products/ghostdoc.aspx

পুনঃনির্মাণ - কোড বিশ্লেষণ এবং পুনরায় সংশোধনকারী http://www.jetbrains.com/resharper/

স্টাইলকপ - টিএফএস-এ চেক-ইন করার আগে একটি চূড়ান্ত ক্লিন-আপ হিসাবে। (বিনামূল্যে)

http://code.msdn.microsoft.com/sourceanalysis


1

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

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

বড় ছবিতে সকলেই অকেজো।

কার্যকর, রক্ষণাবেক্ষণযোগ্য এবং পঠনযোগ্য কোডটি কী লিখতে গুরুত্বপূর্ণ তা এই স্ট্যান্ডার্ডগুলিতে কখনই উল্লেখ করা হয়নি।

উদাহরণস্বরূপ: আপনি কি আপনার ভেরিয়েবলগুলি আপনার শ্রেণীর শীর্ষে বা নীচে রেখেছেন? ঠিক আছে, কে যত্নশীল - আপনি কার্যকরী ক্ষেত্রের দ্বারা আপনার ভেরিয়েবলগুলি একসাথে ভাগ করে নিলে কী হয়। এটি গুরুত্বপূর্ণ (আপনি যদি জায়গাটির সম্পর্কে 20 টি ভেরিয়েবল দেখে থাকেন তবে আপনি এটি জানবেন)।

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

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

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

সংক্ষেপে বলতে গেলে - তারা সেখানে সাহায্য করতে আমাদের না নিয়ন্ত্রণমূলক নিয়ম সবসময় যে একটি সেট হিসাবে একসাথে কাজ করছি আছে অনুসরণ করা।


1

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

  1. রিশার্পার ইনস্টল করুন , ডিফল্টগুলি ছেড়ে দিন, যা বলুক তা করুন।

  2. মুনাফা - আপনার দলের প্রত্যেকের একই স্টাইল থাকবে যা মাইক্রোসফ্টের নির্দেশিকাগুলির নিকটবর্তী হবে, কেবলমাত্র কয়েকটি পয়েন্টগুলিতে বিচ্যুতি যেখানে রিশার্পার স্ট্যান্ডার্ডগুলি বাস্তবে শিল্পে আরও বেশি ব্যবহৃত হয় এবং এটি (যুক্তিযুক্ত) উন্নতিগুলি প্রতিফলিত করে।

আপনার দলটি কিছু হিংস্র দলিল বা বই তৈরি করতে এবং উল্লেখ করতে ব্যয় করতে কম সময় ব্যয় করছে, বা curly bracesঅন্যান্য অদম্যতা সম্পর্কে ডিকচারিং করবে, তত বেশি কোডিং হবে। ReSharper তারা টাইপ করার সাথে সাথে নামকরণ এবং স্টাইল প্রয়োগ করবে। সম্পন্ন. শেষ অফ বিতর্ক। তর্ক করার কিছুই বাকি নেই left সরানো.

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

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

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

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