আপনার সংস্থার কোডিং মান আছে? [বন্ধ]


31

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

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


এই প্রশ্নের (প্রায় 6 বছর বয়সী) লিঙ্কটিতে কোনও সমস্যা রয়েছে বলে মনে হচ্ছে। এখানে পৃষ্ঠা অনুসারে: 1code.codeplex.com , মাইক্রোসফ্ট অল-ইন-ওয়ান কোড ফ্রেমওয়ার্ক হোমপেজটি ব্লগস.এমএসএনএন বি / বক্সোডে স্থানান্তরিত হয়েছে । আমি যেখানে স্ট্যান্ডার্ড অ্যাক্সেস করতে পারি তা দেখতে (যদি বা) এমএসডিএন ব্লগ পৃষ্ঠাগুলি তদন্ত করে দেখিনি।
কেভিন ফেগান

উত্তর:


39

বেশ কয়েকটি সমস্যা এড়াতে দলের পক্ষে প্রতিটি ভাষার একক কোডিং মান থাকা গুরুত্বপূর্ণ:

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

স্ট্যান্ডার্ড সম্পর্কে চাচা বব যা বলছেন তার আমি একটি বড় অনুরাগী :

  1. এগুলি প্রথম কয়েকটি পুনরাবৃত্তির সময় বিকশিত হোক।
  2. তাদের নির্দিষ্ট কোম্পানির পরিবর্তে দল নির্দিষ্ট হতে দিন।
  3. এগুলি এড়াতে পারলে এগুলি লিখবেন না। বরং কোডটি যেভাবে মানগুলি ক্যাপচার করা হয় সেভাবে চলুন।
  4. ভাল ডিজাইন আইন করবেন না। (যেমন গোটো ব্যবহার না করার জন্য লোকদের বলবেন না)
  5. নিশ্চিত করুন যে সবাই জানেন যে স্ট্যান্ডার্ডটি যোগাযোগের বিষয়ে, অন্য কিছুই নয়।
  6. প্রথম কয়েকটি পুনরাবৃত্তির পরে, সিদ্ধান্ত নেওয়ার জন্য দলকে একত্র করুন।

3
আঙ্কেল ববকে উদ্ধৃত করার জন্য +1। এগুলি না লিখে দেওয়ার পরামর্শের জন্য +1 (যদি আমি পারতাম)।
ওয়াল্টার

21
এগুলি কেন লিখছেন না?
ফিশটোস্টার

8
@ ফিশটোস্টার - ধারণাটি হ'ল কোডটি নিজেই স্ট্যান্ডার্ডটিকে ডকুমেন্ট করে। কোডটি পরিবর্তন হিসাবে যেমন নকশার ডকুমেন্টেশন প্রায়শই রক্ষণ করা হয় না, তেমনি কোডিং মানক নথির বিশদ কোডগুলির সাথে কোডগুলির সাথে সিঙ্কের বাইরে চলে যাবে standards আমরা যা করি তা হ'ল কিছু প্রতিনিধি মডিউল চয়ন করুন এবং সেগুলি গাইডলাইন হিসাবে ব্যবহার করুন। একটি সংক্ষিপ্ত পরিচিতি দলিল (আমরা একটি উইকি ব্যবহার করি এবং প্রকৃত কোডের লিঙ্ক ব্যবহার করি) এটি মূল্যবান যা প্রতিনিধি কোডটি কোথায় খুঁজে পাবে তা আপনাকে দেখায়।
প্যাডিস্ল্যাকার

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

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

8

আমি মনে করি কোডিং স্ট্যান্ডার্ড থাকা অপরিহার্য, যদিও এটির সবকটি বলা হয় "আমরা 3-স্পেস ইন্ডেন্টেশন ব্যবহার করি এবং ওপেন-বন্ধনীগুলি পরের লাইনে চলে যায়।" কয়েকটি সুবিধা:

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

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


5

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

ব্যক্তিগতভাবে আমি দেখতে পেয়েছি যে বেশিরভাগ ভাষায় স্বীকৃত স্টাইল রয়েছে।

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

আমি মনে করি আপনার যদি মান থাকে তবে তা ভাষা অনুসারে হওয়া উচিত


1
+1 টি। আমার অবজেক্টিভ সি আমার পিএইচপি-র মতো সকলের দিকে তাকাচ্ছে না।
ড্যান রে

2

আমার প্রাক্তন নিয়োগকর্তার একটি কোডিং মান রয়েছে। আমি নিজের জন্যও আনুষ্ঠানিকভাবে একটি ডকুমেন্টিং বিবেচনা করছি।

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

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


1

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

তবে, সবচেয়ে খারাপতম, কেউ ইতালীয় ভাষাতে ভেরিয়েবল এবং ক্লাসের নাম লিখেন, অন্য কেউ ইংরেজিতে ...

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


3
খুব, আমি কখনও একাধিক ভাষাও বিবেচনা করি নি ... এটি কঠিন হয়ে উঠেছে।
ওয়াল্টার

1

মনে রাখবেন যে এটি একটি কোডিং স্ট্যান্ডার্ড ডকুমেন্ট যা অল-ইন-ওয়ান কোড ফ্রেমওয়ার্কের জন্য নির্দিষ্ট

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

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


1
হ্যাঁ, আমি বুঝতে পারি যে আমি যে নথিটি রেফারেন্স করেছি সেটি অল-ইন-ওয়ান কোডিং ফ্রেমওয়ার্কের সাথে সুনির্দিষ্ট, তবে এটি পড়ার ফলে যে প্রশ্নটি এসেছে তার জেনেসিস।
ওয়াল্টার

1

কোডিং স্ট্যান্ডার্ড আলোচনাগুলি এখানে নেমে আসে:

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

যদি আপনি ভিজ্যুয়াল স্টুডিওতে সি # তে বিকাশ করে থাকেন তবে স্টাইলকপ একটি সিলভার বুলেট। আপনি যদি রিশ্যার্পার ব্যবহার করে থাকেন তবে পুনঃশ্যাপার প্লাগইনটির জন্য স্টাইলকপটি দুর্দান্ত।


1

আমরা একটি ব্লাব শপ, তাই আমরা ব্লাব প্রোগ্রামিং কনভেনশনগুলি ব্যবহার করি।

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

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

আমরা যদি সি বা সি ++ বলে প্রোগ্রাম করি (আমরা সকলেই বহুভাষিক, যদিও আমরা ব্লাবের মধ্যে প্রোগ্রাম করি) আমরা বেশিরভাগ ব্লব স্টাইল ব্যবহার করি নতুন কোডের জন্য, বা ওপেন সোর্স স্টাফের জন্য, আমরা যে প্রকল্পে কাজ করছি তার স্ট্যান্ডার্ড।


1

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


1

এটি মানুষকে সহায়তা করতে পারে, এটি সরঞ্জামের সাথে সত্যই সহায়তা করতে পারে:

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

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

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

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