কী নামকরণ বিরোধী নিদর্শন বিদ্যমান? [বন্ধ]


35

কিছু নাম রয়েছে, যেখানে আপনি যদি এই নামের জন্য নিজেকে পৌঁছতে দেখেন তবে আপনি জানেন যে আপনি ইতিমধ্যে কিছু গণ্ডগোল করেছেন।

উদাহরণ স্বরূপ:

এক্সএক্সএক্সএজ ম্যানেজার
এটি খারাপ কারণ কোনও শ্রেণীর ক্লাস কী করে তা বর্ণনা করা উচিত। ক্লাসটি "পরিচালনা" করার জন্য সর্বাধিক নির্দিষ্ট শব্দটি যদি আপনি নিয়ে আসতে পারেন তবে ক্লাসটি খুব বড়।

অন্যান্য নামকরণ বিরোধী নিদর্শনগুলির কি আছে?

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


1
স্মুরফ নামকরণ কনভেনশন সম্পর্কে কীভাবে ?
back2dos

4
"গঠনমূলক নয়" হিসাবে ভোটদানকারীদের কাছে - আপনি এর কারণ ব্যাখ্যা করতে রাজি হবেন? একমাত্র যা এটি খুব ভালভাবে কাজ করে না তা হ'ল উত্তরগুলি সংক্ষিপ্ত হতে পারে তবে এটি অবশ্যই অন্য পাঁচটি দিকনির্দেশনা পূরণ করে ...
বিলি ওনেল

1
ওহ উপায় দ্বারা c2.com/cgi/wiki?DontNameClassObjectManageHandlerOrData
11'7

2
@ অ্যারোনট: কোনও পরামর্শ? আমি এটিকে উচ্চারণ করেছি পাশাপাশি আমি সম্পাদনা করতে সক্ষম হয়েছি ....
বিলি ওনিল

1
@ ঝকিং - আমি সেই লিঙ্কটির কয়েকটিতে একমত - বিশেষত "ম্যানেজার" এবং "হ্যান্ডলার" ছাড়ার পক্ষে খুব মূল্যবান হওয়ার বিষয়ে এটি bit এবং আমি ডিজাইন-প্যাটার্ন-ভিত্তিক এবং অন্যান্য বিকল্পগুলিতে বিক্রি করি না, যা অনেক ক্ষেত্রে কমপক্ষে অস্পষ্ট বলে মনে হয়। কখনও কখনও, "সারি" বা যা কিছু উপযুক্ত হতে পারে, তবে প্রায়শই এই বিষয়টি সত্য যে কোনও পরিচালক একটি আইনে আইটেমগুলি রাখেন (বা রেফারেন্সগুলি) সেই আইটেমগুলি পরিচালনা করার একমাত্র দিক। "ম্যানেজার" দ্বারা কাজের কিছু যেমন কাজের শিরোনাম হিসাবে প্রকাশ করা হয় তেমনি আইওপিও ওওপিতে প্রযোজ্য।
স্টিভ 314

উত্তর:


22

নিম্নলিখিত নামকরণ বিরোধী নিদর্শনগুলি। নেট এবং বিশেষত সি # এর সাথে সম্পর্কিত:

  • অসঙ্গতি । আপনি যদি প্রতিটি ক্ষেত্রের নাম একটি শীর্ষস্থানীয় আন্ডারস্কোর দিয়ে শুরু করার সিদ্ধান্ত নিয়ে থাকেন তবে এটি আটকে থাকুন
  • অনুপস্থিত স্বরগুলির সাথে অম্বিগুসের সংক্ষিপ্তকরণ । আমি ক্ষেত্রের নামগুলি যেমন গুরুত্ব সহকারে দেখেছি cxtCtrlMngr। এটি কী দাঁড়াবে তা আপনি খুব কমই অনুমান করতে পারেন।
  • খুব দীর্ঘ এবং ভার্বোজের পরিবর্তনশীল নামILoginAttemptRepositoryজরিমানা এবং বর্ণনামূলক - ILoginAttemptRepositoryUsingEntityFrameworkForObjectRelationalMappingবর্ণনামূলক, তবে অবশ্যই জরিমানা নয়।

7
হয় Iমানে বোঝানো interfaceএখানে implementer, অথবা প্রথম ব্যক্তি একবচন? যেহেতু বেশিরভাগ ক্লাস একটি ইন্টারফেস প্রয়োগ করে, মূলধনের সাথে অনেকগুলি ক্লাস / ইন্টারফেস স্টার্টিগান হ'ল অযৌক্তিক হওয়া I, এবং পাঠযোগ্যতা বাধাগ্রস্ত করা এবং এর নিজস্ব কোডের গন্ধ।
ব্যবহারকারী অজানা

3
"নিখোঁজ স্বরযুক্ত অ্যাম্বিগুয়াস সংক্ষিপ্ত বিবরণ" এর জন্য +1 যারা আমাকে পাগল করে তোলে!
হতাশিত

6
@ বিলি ওনিল: সি ++ এর ইন্টারফেস রয়েছে; তারা কৃত্রিমভাবে ক্লাস থেকে পৃথক করা হয় না। ;)
জন পূর্দি

4
@ বিলি ওনিল: এটি আমার বক্তব্য ছিল।
জন পুরি

2
@ মারিয়াসস্চলজ: ওহ হ্যাঁ, আমি আপনার সাথে একমত হয়েছি :) ভেবেছিলাম এটি এত মারাত্মক অস্বচ্ছ সংক্ষেপণ নয়।
আমারা

9

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

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


7

ভাল, সহজ উত্তরগুলি প্রথমে: টাইপ করুন হানিবি ( http://mindprod.com/jgloss/unmainnaming.html , - এ আরও কিছু দুর্দান্ত ধারণা রয়েছে hungarian হানি যখন মন্দ না হয় সে সম্পর্কে আরও সুষম দৃষ্টিভঙ্গি http://www.joelonsoftware.com / খণ্ডগুলি / ভুল html )


7
হাঙ্গেরিয়ান নোটেশন সর্বদাই খারাপ :)
ওয়েইন মোলিনা

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

3
@ মারিয়াস: জোলের নিবন্ধটি পড়ুন। টাইপ সিস্টেম সর্বদা ভেরিয়েবলের মধ্যে সমস্ত শব্দার্থক পার্থক্য প্রয়োগ করতে পারে না। ইন্টেলিজেন্সও এ জাতীয় ক্ষেত্রে সহায়তা করে না।
বিলি ওনিল

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

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

6

একটি ইন্টারফেসের নামের সাথে 'আমি' উপসর্গ করা, বা বিমূর্ত শ্রেণীর নামে 'অ্যাবস্ট্রাক্ট'। এটি যে ভাষাগুলিতে বিমূর্ত শ্রেণীর ধারণা নেই বা ইন্টারফেস এবং বিমূর্ত শ্রেণীর মধ্যে পার্থক্য রাখে না এমন ভাষাগুলিতে এটি অযৌক্তিক হতে পারে - তবে জাভাতে, উদাহরণস্বরূপ, এটি সর্বদা একটি খারাপ ধারণা।

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


@ মাইক: আমি আপনার বক্তব্যের সাথে সম্পূর্ণরূপে একমত নই, দুঃখিত। আমার মতে, XxxxManagerকোনও শ্রেণীর সবচেয়ে খারাপ নামটি হতে পারে। অবশ্যই এটি কিছু পরিচালনা করে! এ কারণেই এটি লেখা হয়েছিল। Managerএটি একটি অর্থহীন ফিলার শব্দ যা বোঝার কোনও মূল্য যোগ করে না - এর নাম অনুসারে - কোন শ্রেণি কীসের জন্য দায়ী।
মারিয়াস শুলজ

1
কি, বলুন TabManager? কোনও জেএসপি ট্যাব প্রক্রিয়া নিয়ন্ত্রণ করে এমন শ্রেণীর জন্য আরও ভাল নাম পান? বা হাঁসফাঁস TabController ... যতক্ষণ না পূর্ববর্তী হিসাবে Abstractঅনুভব করি তবে আমি মনে করি এটি অত্যধিক ব্যবহৃত হয়েছে তবে প্রায়শই বৈধ হয় (উদাহরণস্বরূপ জাভা লাইব্রেরি দেখুন)। আমি মনে করি আমি নিরাপদে বলতে পারি যে আমি এমন Iকোনও স্থানে ইন্টারফেসটি কখনও দেখিনি যেখানে কোনও ইন্টারফেসের বিরুদ্ধে প্রোগ্রাম করার চেষ্টা করা হয়নি যা সেখানে হওয়া উচিত ছিল না। মত, শুধুমাত্র একটি শ্রেণি ইন্টারফেস প্রয়োগ করে।
মাইকেল কে

1
@ ড্যারিন (এবং অন্যরা): যেভাবেই হোক - তাতে কিছু যায় আসে না। এই নামগুলির মধ্যে কোনওটিই অ্যান্টি-প্যাটার্ন নয় (এবং সে কারণে তারা এই প্রশ্নের জন্য বিষয় ছাড়াই)। আমি মনে করি না যে তারা কোনও সিস্টেমের নকশা সম্পর্কে ব্যবহার করতে পারে IXxxবা না সে সম্পর্কে আপনি কিছু বলতে পারবেন XxxImpl
বিলি ওনিল

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

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

6

Speeling:

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


2
আমি সংক্ষেপে একটি jQuery প্লাগইন ব্যবহার করেছি যেখানে প্যারামিটারগুলির মধ্যে একটি ছিল affect(প্রভাবের পরিবর্তে)। এটি আমাকে পাগল করে তুলেছে এবং একই কাজটি করার জন্য আমি দ্রুত একটি আলাদা প্লাগইন পেয়েছি।
zzzzBov

4
এর সাথে আমার সবচেয়ে খারাপ সমস্যাটি হ'ল, একবার আমি ভুল বানান দেখলে নামগুলি কী তা মনে রাখার ক্ষমতাটি সত্যই আঘাত করে really
ডেভিড থর্নলি

1
কোডের বিভিন্ন অংশে একই জিনিসটি আলাদাভাবে বানান করা খারাপ হয়ে যায়। আপনার যখন ক্লাস স্ট্রেন্থিথের ক্ষেত্র স্ট্রিংহ্যাট থাকে তখন পদ্ধতি স্ট্রেন্থ () দ্বারা অ্যাক্সেস করা হয়।
ইভা

5

ভাল আমি ভয় করি আমার মতামত কিছুটা বিতর্কিত। তবে চেষ্টা করুন ...

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

এই জাতীয় জিনিসগুলির জন্য আরও ভাল নাম খুঁজে পাওয়া সত্যিই কঠিন বা সম্ভবত সম্ভবও নয়। এক্সএক্সএক্স পরিস্থিতি আরও সুস্পষ্ট করতে ভাল চয়ন করা উচিত।

আমি ব্যক্তিগতভাবে যা পছন্দ করি না তা হ'ল, যখন get ... বা সেট ... নামক কোনও পদ্ধতি কেবল সাধারণ অ্যাক্সেসরের চেয়ে বেশি। আমি নির্ধারণের জন্য ডিট পছন্দ করি।

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

আমি ব্যক্তিগতভাবে সিস্টেমে হ্যানি নোটেশনের একটি বড় অনুরাগী - বেশিরভাগ সময় আপনি আইডিই ঠিক আছে সোর্সকোডের সাথে কাজ করছেন। তবে প্রায়শই আপনি কেবল সম্পাদক ব্যবহার করছেন বা আপনি ব্রাউজারে রেপো ব্রাউজ করছেন। টাইপ-প্রিফিক্সগুলির কারণে একটি অসুবিধা হতে পারে সরঞ্জামগুলি সমর্থন করা ...

আমি মনে করি সবচেয়ে গুরুত্বপূর্ণ বিষয় হল মৌমাছিদের মৌমাছি করা - একটি সাবপটিমাল কনভেনশন - আমার জন্য - কোনও কনভেনশন না থাকার চেয়ে ভাল ...


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

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

5

সম্ভবত সবচেয়ে খারাপ নামকরণ বিরোধী প্যাটার্নটি হ'ল এটি:

create table stuff(..., foo1 string, bar1 string,
                        foo2 string, bar2 string, 
                        foo3 string, bar3 string, ...)

আমাদের কাছে [foo, বার] জোড়ার একটি ত্রি-উপাদান তালিকা রয়েছে। আমাদের যদি চতুর্থটি প্রয়োজন হয় তবে আমাদের টেবিলে নতুন কলাম যুক্ত করতে হবে।

এই জাতীয় কোডে নেতৃত্ব:

'SELECT foo' + i + ', bar' + i + ' FROM stuff'

কলাম foo এবং বার দিয়ে আলাদা টেবিল তৈরি করা উচিত এবং স্টাফ টেবিলের সাথে লিঙ্ক করা উচিত:

create table fubar(foo string, bar string, stuff_id long)

দ্বিতীয়টি হ'ল:

class Student {
  ...
  String homeStreet;
  String homeCity;
  String homeState;
  String permStreet;
  String permCity;    
  String permState;
  ...
}

এখানে আমাদের কাছে ঠিকানা শ্রেণীর দুটি উদাহরণের পরিবর্তে ছয়টি ক্ষেত্র রয়েছে।

এই অ্যান্টি-প্যাটার্নটি দুটি সেটের দুটি মিশ্রণের তালিকা করে দুটি অংশের নামের একটি সিরিজ দ্বারা চিহ্নিত করা হয়েছে, উদাহরণস্বরূপ [ফু, বার] এক্স [1,2,3] বা [বাড়ি, পারম] এক্স [রাস্তা, শহর, রাজ্য]


-1 - এটি মোটেও নামকরণের উল্লেখ করে না।
বিলি ওনিল

একটি নামকরণ বিরোধী-প্যাটার্নে একাধিক নাম অন্তর্ভুক্ত থাকতে পারে না?
কেভিন ক্লিনে

কীভাবে প্রচুর যুক্তি ==অ্যান্টিপ্যাটারটার নামকরণ করে? আমি বিভ্রান্ত
বিলি ওনিল

1
যতদূর আমি তাকে বুঝতে পারি, সম্মেলনটি এমন একটি যা সংখ্যার অনুমতি দেয় যেখানে প্রকৃত নাম নেওয়া উচিত। এই সংখ্যাগুলি একটি মিথ্যা ধারণা তৈরি করে, যে আইটেমগুলি কোনও ধরণের তালিকা বা অ্যারে
কেপ্পলা

3
@ বিলি ওনিল: হ্যাঁ তারা করে। নকশা সমস্যা হ'ল স্বাভাবিকীকরণের অভাব এবং সংখ্যার প্রত্যয় এটির ইঙ্গিত করে নামকরণের ধরণ।
পুনরায় পোস্টার

3

কোনও শ্রেণি বা ইন্টারফেসের নামকরণ যা একটি টাউটোলজি, এটি খারাপ যা কেবল লিখিতভাবে জাভাতে নয়, যে কোনও ভাষায় কথা বলে।

টোটোলজি (অলঙ্কৃত), একই কথা বলতে বিভিন্ন শব্দ ব্যবহার করে এমনকি পুনরাবৃত্তিটি স্পষ্টতা প্রদান করে না।


2
মজাদার. কোন উদাহরণ?
মাইক বারানজাক

2
আমি লিঙ্কটি পড়েছি, এটি "
টোটোলজি

10
টাউটোলজি ক্লাবের প্রথম নিয়ম হ'ল টাউটোলজি ক্লাবের প্রথম নিয়ম।
সেরেসরিলা

আমি লিঙ্কটি পড়েছি (ঠিক আছে, লিঙ্কটির বিষয়বস্তু ) এবং কোনও উদাহরণ খুঁজে পাই নি
বরজাক

ঠিক আছে সুতরাং সেই লিঙ্ক অনুসারে আমাদের <InterfaceName> ... ঠিক ব্যবহার করা বন্ধ করা উচিত।
ডাল

3

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


+1 - আমি সারাক্ষণ "কমন" দেখি।
মরগান হের্লোকার

1

নামকরণের বিষয়ে মাইক্রোসফ্ট থেকে , আমি খারাপ নামের জন্য এই তালিকাটি সরবরাহ করতে পারি:

  1. এগুলি শব্দার্থক নয়, যার অর্থ তাদের নাম রয়েছে যা এটি কী করে তার উপর জোর দেওয়ার পরিবর্তে এটি যে প্রযুক্তি ব্যবহার করে তা বা তার উপর ভিত্তি করে যে নকশায় জোর দেয় তার উপর জোর দেয় ।
  2. তারা একটি সিনট্যাক্টিকাল ধারাবাহিকতা অনুসরণ করে না। উদাহরণস্বরূপ, নামের কিছু অংশ উট কেসযুক্ত, অন্য অংশটি প্যাসকেল কেসড।
  3. এগুলি সংক্ষেপণ, যা বোঝার পক্ষে শক্ত, যেমন CanScrolHorizontally এর পরিবর্তে ScrollableX
  4. তারা এমনটি বেছে নিয়েছে যে তারা সেই পরিবেশের কীওয়ার্ডগুলিতে গণ্ডগোল করে।

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