জাভাতে ক্লাসে কত লাইন খুব বেশি? [বন্ধ]


74

আপনার অভিজ্ঞতায়, জাভাতে এক শ্রেণীর জন্য কোডের কত লাইন খুব বেশি, তার জন্য থাম্বের একটি কার্যকর নিয়ম কী?

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

ফ্লিপ দিকে, সম্ভবত আপনি খুব বড় শ্রেণীর উদাহরণগুলির মুখোমুখি হয়েছেন যা এখনও ওওপি নকশাকে ভালভাবে মানেছে এবং তাদের দৈর্ঘ্য সত্ত্বেও পাঠযোগ্য এবং বজায় রাখতে সক্ষম ছিল?

এখানে প্রতিটি ফাংশন লাইন সম্পর্কে সম্পর্কিত, নন-সদৃশ প্রশ্ন


4
আমি হাজারেরও বেশি লাইনের ক্লাস দেখেছি, "অনেক বেশি" বলে মনে হয় না।
মাহমুদ হোসাম

5
এটি কখনই সংকলন করবে না এটি অনেক। সিরিয়াসলি, যখন শ্রেণিটি অনেকগুলি বিভিন্ন রকম কাজ করে it's
বেরিন লরিটস্

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

7
এক টুকরো স্ট্রিংয়ের জন্য সঠিক ইঞ্চির সংখ্যার মতো।
ম্যাট

6
30 ভোট সহ একটি প্রশ্ন, 24k বার দেখা হয়েছে, 10 টি উত্তর (সম্মিলিতভাবে) ~ 75 ভোট সহ "প্রাথমিকভাবে মতামত ভিত্তিক হিসাবে বন্ধ হয়েছে" স্ট্যাক এক্সচেঞ্জে আপনাকে স্বাগতম :) এসই সংস্কৃতিতে কিছু পরিবর্তন করা দরকার ...
জেবি।

উত্তর:


79

কিছু আকর্ষণীয় মেট্রিক:

            জুনিট ফিটনেস টেস্টএনজি ট্যাম জিডিপেন্ড এন্ট টমক্যাট
            ----- -------- ------ --- ------- --- ------
সর্বোচ্চ 500 498 1450 355 668 2168 5457
গড় 64.0 77.6 62.7 95.3 128.8 215.9 261.6
মিনিট 4 6 4 10 20 3 12
সিগমা 75 76 110 78 129 261 369
ফাইল 90 632 1152 69 55 954 1468
মোট লাইন 5756 49063 72273 6575 7085 206001 384026

আমি ফিটনেসকে একটি মানদণ্ড হিসাবে ব্যবহার করি কারণ এটি লেখার সাথে আমার অনেক কিছু করার ছিল। ফিটনেসে গড় ক্লাসটি 77 লম্বা। কোনওটিই 498 লাইনের চেয়ে দীর্ঘ নয়। এবং স্ট্যান্ডার্ড বিচ্যুতি 76 লাইন। এর অর্থ হ'ল শ্রেণীর সংখ্যাগরিষ্ঠতা 150 লাইনের চেয়ে কম। এমনকি টমক্যাট, যেটিতে 5000 ক্লাসের বেশি এক শ্রেণি রয়েছে, বেশিরভাগ ক্লাসে 500 লাইনের চেয়ে কম থাকে।

এটি প্রদত্ত আমরা নীচে থাকার জন্য সম্ভবত একটি ভাল গাইডলাইন হিসাবে 200 টি লাইন ব্যবহার করতে পারি।


9
শ্রেণীর যদি কেবল একটি দায়িত্ব থাকে তবে এটির 200-500 লাইনের উপরে যাওয়ার সম্ভাবনা বেশ পাতলা। যেগুলি সাধারণত অন্যান্য সম্পর্কিত দায়িত্ব পরিচালনার জন্য "অভ্যন্তরীণ শ্রেণি" থাকে । উদাহরণস্বরূপ, টমক্যাট 5000+ লাইন শ্রেণিটি ডজন ডজন অভ্যন্তর শ্রেণি সহ 1 টি মূল শ্রেণি হতে পারে। জাভাতে এটি অস্বাভাবিক নয় যেখানে আপনার কাছে অনুরোধ হ্যান্ডলারগুলি রয়েছে such
বেরিন লরিটস

4
এই মেট্রিকগুলি কীভাবে পাওয়া যায়? শুধু জানতে চাই
Sнаđошƒаӽ

1
আমি সাধারণত ফাংশন সংক্রান্ত লিঙ্ক প্রশ্নে এই উত্তর প্রতি আরো চর্বিহীন চাই: programmers.stackexchange.com/a/9452/100669 এলওসি একটি ধরনের অপ্রাসঙ্গিক ছাড়া যেমন হয়তো অত্যন্ত চলতি সাধারণ নিয়ম কেবল আপনি পারে ভাবছি শুরু করার জন্য জিনিসগুলি আরও ভাঙতে সক্ষম হও। এবং আমি নেস্টেড ক্লাস জিনিস সম্পর্কে একমত। তবুও, 500 সম্ভবত একটি সাধারণ সতর্কতা চিহ্নের কাছাকাছি।
Panzercrisis


32

আমার জন্য, কোডের লাইনগুলি এই প্রসঙ্গে অপ্রাসঙ্গিক। এই ক্লাসে এটি পরিবর্তন করার জন্য আমি যে কারণে এসেছি তার কারণগুলি এই সমস্ত।

আমি যদি একজন ব্যক্তিকে বৈধতা দেওয়ার নিয়মগুলি পরিবর্তন করতে চাই যখন আমি এই শ্রেণিতে আসি, আমি কোনও আদেশকে বৈধতা দেওয়ার নিয়মগুলি পরিবর্তন করতে একই ক্লাসে আসতে চাই না, বা আমি যেখানে পরিবর্তন করতে চাই এখানে আসতে চাই না একজন ব্যক্তির অবিচল থাকা।

এটি বলে, যদি আপনি এটির জন্য লক্ষ্য রেখে থাকেন তবে আপনি খুব কমই ক্লাসগুলি 200 লাইনের বেশি খুঁজে পাবেন। বৈধ কারণে তারা ঘটবে, তবে তারা বিরল হবে। সুতরাং আপনি যদি একটি লাল-পতাকা মেট্রিক খুঁজছেন তবে এটি আরম্ভ করার মতো খারাপ জায়গা নয়; তবে এটিকে কোনও নির্দেশিকা নয়, কোনও নিয়ম করুন।


200 একেবারে মোটামুটি অনুমান হিসাবে সঠিক সম্পর্কে অনুভূত হয়। যেমনটি আপনি বলেন, আপনি প্রথমে উদ্বিগ্ন জিনিসটি নয়।
স্টিভ

জাভা সম্পর্কে অসাধারণ জিনিসটি হ'ল, এলওসি গণনা করার সময় আমি গ্রাহকরা / সেটটারদের উপেক্ষা করব।
মিঃফক্স

1
@ মিঃফক্স: আমি একমত নই আপনার ক্লাসে যদি এলওসি ডেটা স্কু করার জন্য যথেষ্ট পরিমাণে গেটার এবং সেটটার থাকে তবে "এই শ্রেণিটি কি খুব বেশি কাজ করছে?" প্রশ্ন। তবে, একটি সমঝোতা হিসাবে আমি অতিরিক্ত বয়লার-প্লেটের এই জাতীয় পদ্ধতিগুলির জন্য শ্রদ্ধার বাইরে 1 লাইন / লাইনের কম নেটবিয়ান গেটার / সেটটারদের আগ্রহী।
ব্রায়ান

23

আমি দুঃখিত তবে আমি খুব আশ্চর্য হয়েছি যে অনেক উত্তর উত্তর দেয় যে এটি "আসলেই কিছু যায় আসে না"। এটি একটি ক্লাসে কতগুলি লাইন রয়েছে তা খুব গুরুত্বপূর্ণ। কেন? ভাল জাভা কোড লেখার জন্য এই নীতিগুলি বিবেচনা করুন ...

  • Testability
  • সংযোগ
  • সংযোজন
  • ক্ষমতা অভিব্যক্তি

এতে প্রচুর লাইনযুক্ত শ্রেণি সম্ভবত এই সমস্ত নীতি লঙ্ঘন করবে।

যাঁরা এটি "সত্যিকার অর্থে কোনও ব্যাপার না" বলে দিয়েছেন তাদের জন্য ... আপনি যে ক্লাসে 5000+ লাইন রয়েছে তাতে চেষ্টা এবং বুঝতে কত মজা পেয়েছেন? বা, এটি সংশোধন করতে? যদি আপনি মজাদার বলেন, আপনি ব্যথার প্রতি এক অদ্ভুত সান্নিধ্য পেয়েছেন ...

আমি বলব যে এর মধ্যে যে কোনও শ্রেণীর ১০০০ এর বেশি লাইন রয়েছে তাদের কমপক্ষে প্রশ্ন করা উচিত যে তারা কীভাবে উপরের নীতিগুলি লঙ্ঘন করছে এবং সম্ভবত বেশ কয়েকটি "অফ-শ্যুট" শ্রেণিতে বিভক্ত হয়ে গেছে।

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

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


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

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

12

এটি জটিলতার উপর নির্ভর করে, রেখার সংখ্যাটি নয় not আমি বড় বোবা রুটিন লিখেছি যা বুঝতে সহজ ছিল এবং যা নিখুঁতভাবে একটি কাজ করেছে এবং এটি ভাল করেছে, তবে কয়েকশ লাইনের জন্য এগিয়ে গেছে। আমি মোটামুটি ছোট ফাংশন লিখেছি যা বুঝতে (এবং ডিবাগ) করা শক্ত ছিল।

আর একটি বিষয় যা আপনি দেখতে পাচ্ছেন তা হ'ল কোনও শ্রেণিতে পাবলিক ফাংশনের সংখ্যা। এটি একটি সতর্কতা চিহ্নও হতে পারে।

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


7
+1: বোবা জিনিসগুলি লাইনের মতো পরিমাপ করবেন না। সাইক্লোমেটিক জটিলতা এবং বৈশিষ্ট্য গণনা (পদ্ধতি সংখ্যা) আরও লাইন বোঝায় make
এস। লট

2
হ্যা এবং না. অতিরিক্ত সংখ্যক লাইন প্রায়শই খারাপ ডিজাইনের লক্ষণ এবং এইভাবে একটি লাল পতাকা যা শ্রেণীর সম্ভবত রিফ্যাক্টরিংয়ের প্রয়োজন হয়।
জেভিং

1
@ জওয়ান্টিং হ্যাঁ, আমি এটাই পেয়ে যাচ্ছিলাম। আমি প্রচুর লাইন জানি! = রিফ্যাক্টর করা দরকার, তবে আমি যে ক্লাসে কাজ করছি তার প্রায় সব জায়গাতেই সত্যিকারের দুর্বল ডিজাইনের কারণে রিফ্যাক্টর করা দরকার lots
মাইকেল ম্যাকগওয়ান

5

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

শারীরিক সীমাবদ্ধতা হিসাবে আপনার থাকতে পারে (উত্স: শ্রেণি ফাইল ফর্ম্যাট জাভা 5 ):

  • 65,536 ধ্রুবক, ইন্টারফেস প্রয়োগ, ক্ষেত্র, পদ্ধতি এবং বৈশিষ্ট্য - প্রতিটি each উল্লেখ্য: আগে আপনি রান আউট আপনি ধ্রুবক ফুরিয়েছে চালানো হবে কোন অন্যান্য আইটেম করুন। দ্রষ্টব্য 2: বৈশিষ্ট্যগুলি শ্রেণীবদ্ধ ফাইল গঠন - '@ অ্যাট্রিবিউট' চিহ্নিতকারীদের সাথে বিভ্রান্ত হওয়ার দরকার নেই (অর্থাত ডিবাগ তথ্য এবং বাইট কোড কোনও পদ্ধতির পৃথক বৈশিষ্ট্য হিসাবে সংরক্ষণ করা হয়)।
  • প্রতিটি পদ্ধতি উত্পন্ন বাইট কোডের 4 গিগাবাইট (32 বিট) হতে পারে। দ্রষ্টব্য: 1.5 এর আগে জাভা সংস্করণগুলিতে প্রতিটি পদ্ধতির জন্য কেবলমাত্র 64KB (16 বিট) জেনারেটেড বাইট কোড থাকতে পারে।

সংক্ষেপে, ক্লাস ফাইলটি যে কেউ দরকারী হিসাবে বিবেচনা করবে তার চেয়ে অনেক বড় হতে পারে । আপনি যদি একক দায়িত্বের নীতিটি অবিচল থাকেন তবে আপনার শ্রেণি ফাইলগুলি সঠিক আকারের হবে।


1
একক দায়িত্বের জন্য +1 :) @ বারিন আপনি কি আপনার সফ্টওয়্যারটিতে এটি কঠোরভাবে প্রয়োগ করেন?
আদিত্য পি

হ্যাঁ. কৌশলটি বোঝার জন্য এমনভাবে দায়িত্বগুলি ভাগ করা।
বেরিন লরিটস

আহা, ভাল পুরানো K৪ কেবি সীমানা। আপনার জেএসপিগুলি খুব জটিল কিনা তা দেখতে চমৎকার লিথমাস পরীক্ষা, কারণ তারা আপনার সমস্ত স্ট্যাটিক এইচটিএমএল এর জন্য প্রচুর
মুদ্রণ

জাভা 5 হিসাবে, তারা এটিকে 4 গিগাবাইটে বাড়িয়েছে। এখন সেখানে কোনও উদ্বেগ নেই।
বেরিন লরিটস্ক

5

সঠিক উত্তর 42. মজা করা।
প্রকৃতপক্ষে, প্রতি শ্রেণিতে সর্বাধিক প্রস্তাবিত লাইনগুলি 2000 লাইন।

১৯৯৯ সাল থেকে "জাভা কোড কনভেনশনস" এটিকে এভাবে বলেছে:
২০০০ লাইনের চেয়ে বেশি ফাইলগুলি জটিল এবং এড়ানো উচিত।

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

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

http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141855.html#3043


আসলে, তাদের বেশিরভাগের মন্তব্য @ ল্লুইস মার্টিনিজ
এক্সট্রিম বাইকার

আমি 2000 এর সাথে দৃ strongly়ভাবে একমত নই । কোনও শ্রেণি মন্তব্য ছাড়াই 200 লাইনের বেশি হবে না ।
নিকোলাস

4

পরিষ্কার কোড:

ক্লাস ছোট হওয়া উচিত!

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

** ফাংশনগুলির সাহায্যে আমরা দৈহিক রেখাগুলি গণনা করে আকার পরিমাপ করেছি। ক্লাস সহ আমরা একটি পৃথক পরিমাপ ব্যবহার করি। আমরা দায়িত্ব গণনা। **

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

তারপর:

  • আপনার পদ্ধতিগুলি কেবল একটি কাজ করে তা নিশ্চিত করুন।
  • তারপরে নিশ্চিত করুন যে শ্রেণীর খুব বেশি দায়বদ্ধতা নেই।

আপনি পরিচালনাযোগ্য আকারের একটি ক্লাস দিয়ে শেষ করবেন।


যদি Clean Codeআপনার উত্তরের উপরে রবার্ট সি মার্টিনের বইটি বোঝায় (যা এটি করে!), তবে আমাকে আপনাকে বলতে হবে এবং আমার সাথে এটি মিল রয়েছে; সেই বইটিই আমাকে এই প্রশ্নের দিকে নিয়ে গেল। আমি মনে করি এই উত্তর এটি সব বলছে
Sнаđошƒаӽ

2

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

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


2

আরও ভাল মেট্রিক ব্যবহার করার চেষ্টা করুন।

একটি উদাহরণ এটিবিসি মেট্রিক । কোড কতটা কোড আছে তার চেয়ে কোড দ্বারা কতটা কাজ চলছে তার পরিমাপ এটি।


1

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

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