আমি আমার প্রকল্পগুলির মধ্যেও এটি দেখে ও কাজ করার পরে আমি এই জাতীয় ব্যবহারের বিরুদ্ধে একটি উত্তর দেওয়ার চেষ্টা করব।
কোড পাঠযোগ্যতা
সবার আগে, বিবেচনা করুন যে কোড পাঠযোগ্যতা গুরুত্বপূর্ণ এবং এই অনুশীলনটি এর বিপরীতে। কেউ একটি কোডের টুকরো পড়ে এবং কেবল এটির একটি ফাংশন রয়েছে তা বলি doSomething(Employee e)
। এটি আর পঠনযোগ্য নয়, কারণ Employee
বিভিন্ন প্যাকেজে 10 টি পৃথক ক্লাসের কারণে আপনার ইনপুটটি আসলে কী তা জানতে আপনাকে প্রথমে আমদানির ঘোষণার অবলম্বন করতে হবে।
এটি তবে একটি উচ্চ-স্তরের মতামত এবং আমাদের প্রায়শই আপাতদৃষ্টিতে এলোমেলো নাম সংঘর্ষ হয়, যার সম্পর্কে কেউই পাত্তা দেয় না এমনকি খুঁজেও পায় না, কারণ বাকী কোডটি এবং আপনি কোন প্যাকেজটিতে রয়েছেন তা থেকে অর্থটি পাওয়া যায় So সুতরাং কেউ তর্কও করতে পারে এটি স্থানীয়ভাবে কোনও সমস্যা নেই কারণ অবশ্যই আপনি যদি Employee
কোনও hr
প্যাকেজের মধ্যে দেখতে পান তবে আপনাকে জানতে হবে যে আমরা কর্মচারীর এইচআর ভিউ সম্পর্কে কথা বলছি।
যদিও এই প্যাকেজগুলি ছেড়ে যাওয়ার সাথে সাথে জিনিসগুলি বিচ্ছিন্ন হয়ে যায়। আপনি একবার অন্য কোনও মডিউল / প্যাকেজ / ইত্যাদিতে কাজ করার পরে এবং কোনও কর্মীর সাথে কাজ করার দরকার পড়লে আপনি ইতিমধ্যে পাঠযোগ্যতার জন্য ত্যাগ করছেন যদি আপনি এর ধরণের পুরোপুরি যোগ্যতা অর্জন করেন না। অতিরিক্তভাবে, 10 টি পৃথক Employee
ক্লাস থাকার অর্থ আপনার আইডিইর স্বতঃ-সমাপ্তি আর কাজ করবে না এবং আপনাকে কর্মচারীর ধরণ থেকে ম্যানুয়ালি বেছে নিতে হবে।
কোড সদৃশ
এই শ্রেণীর প্রতিটি একে অপরের সাথে সম্পর্কিত হওয়ার প্রকৃতির কারণে আপনার কোডটি প্রচুর নকলের কারণে অবনতি হতে বাধ্য। বেশিরভাগ ক্ষেত্রে, আপনার কোনও কর্মীর নাম বা কিছু শনাক্তকরণ নম্বর এর মতো কিছু থাকবে, যা প্রতিটি ক্লাসেরই প্রয়োগ করতে হবে। যদিও প্রতিটি শ্রেণি তার নিজস্ব ধরণের সংযোজন যুক্ত করে, যদি তারা অন্তর্নিহিত কর্মচারীর ডেটা ভাগ না করে, তবে আপনি অকেজো, তবে ব্যয়বহুল, কোডের বিশাল জনসাধারণের সাথে সমাপ্ত হবেন।
কোড জটিলতা
আপনি জিজ্ঞাসা করতে পারেন এত জটিল কি হতে পারে? সর্বোপরি, ক্লাসগুলির প্রত্যেকটি এটি পছন্দ মতো সহজ রাখতে পারে। আসলে কী সমস্যা হয়ে ওঠে তা হল আপনি কীভাবে পরিবর্তনগুলি প্রচার করেন। যুক্তিযুক্ত বৈশিষ্ট্য সমৃদ্ধ সফ্টওয়্যারটিতে আপনি কর্মচারীদের ডেটা পরিবর্তন করতে সক্ষম হতে পারেন - এবং আপনি যে কোনও জায়গায় এটি প্রতিফলিত করতে চান। বলুন যে একজন মহিলা সবেমাত্র বিবাহ করেছেন এবং আপনাকে তার নাম পরিবর্তন X
করতে হবেY
যে কারণে. পুরো জায়গা জুড়ে এটি সঠিকভাবে করার পক্ষে যথেষ্ট কঠিন, তবে আপনার যখন এই স্বতন্ত্র ক্লাসগুলি রয়েছে তখন আরও বেশি শক্ত। আপনার অন্যান্য ডিজাইনের পছন্দগুলির উপর নির্ভর করে সহজেই এর অর্থ হতে পারে যে ক্লাসগুলির প্রত্যেককেই তার নিজস্ব শ্রোতা বা এমন পরিবর্তনগুলি সম্পর্কে অবহিত করতে হবে - যা মূলত আপনার সাথে মোকাবেলা করতে হবে এমন ক্লাসের সংখ্যার জন্য প্রয়োগ করা একটি ফ্যাক্টরটিতে অনুবাদ করে which । এবং অবশ্যই আরও কোডের নকলকরণ এবং কম কোড পাঠযোগ্যতা, .. জটিলতার বিশ্লেষণে এর মতো বিষয়গুলি অজ্ঞতাজনক হতে পারে তবে তারা আপনার কোড বেসের আকারের ক্ষেত্রে প্রয়োগ করার সময় বিরক্তিকর হতে পারে।
কোড যোগাযোগ
কোড জটিলতায় উপরের সমস্যাগুলি ছাড়াও, যা নকশার পছন্দগুলির সাথেও সম্পর্কিত, আপনি আপনার উচ্চ-স্তরের ডিজাইনের স্বচ্ছতা হ্রাস করছেন এবং ডোমেন বিশেষজ্ঞদের সাথে সঠিকভাবে যোগাযোগ করার ক্ষমতা হারাবেন। আপনি যখন আর্কিটেকচার, ডিজাইন, বা প্রয়োজনীয়তাগুলি নিয়ে আলোচনা করেন আপনি সাধারণ বিবৃতি দেওয়ার মতো আর স্বাধীন হন না given an employee, you can do ...
। একজন বিকাশকারী আর বুঝতে পারবেন না employee
যে সেই মুহূর্তে আসলে কী বোঝায়। যদিও কোনও ডোমেইন বিশেষজ্ঞ অবশ্যই এটি জানতে পারবেন। আমরা সবাই করি. প্রকার, রকম. তবে সফ্টওয়্যারটির দিক থেকে এটি আর যোগাযোগ করা এত সহজ নয়।
কীভাবে সমস্যা থেকে মুক্তি পাবেন
এটি সম্পর্কে সচেতন হওয়ার পরে এবং যদি আপনার দল সম্মতি জানায় যে এটি মোকাবেলা করার পক্ষে যথেষ্ট বড় সমস্যা, তবে আপনাকে এটিকে মোকাবেলার জন্য আপনাকে একটি উপায় বের করতে হবে। সাধারণত, আপনি আপনার ম্যানেজারকে পুরো টিমকে এক সপ্তাহ ছুটি দেওয়ার জন্য বলতে পারেন না যাতে তারা ট্র্যাশগুলি বের করতে পারে। সুতরাং সংক্ষেপে, আপনাকে একবারে এই ক্লাসগুলি আংশিকভাবে অপসারণের একটি উপায় খুঁজে বের করতে হবে। এই সম্পর্কে সবচেয়ে গুরুত্বপূর্ণ অংশটি - পুরো টিমের সাথে - Employee
সত্যিকার অর্থে কী তা সিদ্ধান্ত নেওয়া। সমস্ত utesশ্বর-কর্মচারীর মধ্যে স্বতন্ত্র বৈশিষ্ট্যগুলিকে একীভূত করবেন না । মূল-কর্মচারী সম্পর্কে আরও চিন্তা করুন এবং সর্বাধিক গুরুত্বপূর্ণ, সিদ্ধান্ত নিন যে সেই Employee
শ্রেণিটি কোথায় থাকবে।
আপনি যদি কোড পর্যালোচনা করেন, তবে সমস্যাটি কমপক্ষে আর কোনও বাড়বে না তা নিশ্চিত করে রাখা বিশেষত সহজ, অর্থাৎ তারা যখন Employee
আবার অন্য যুক্ত করতে চান তখন তাদের ট্র্যাকের মধ্যেই প্রত্যেককে থামান । নতুন সাবসিস্টেমগুলি সম্মত হওয়া Employee
এবং পুরানো সংস্করণগুলিতে অ্যাক্সেসের অনুমতি না পাওয়ার বিষয়টিও খেয়াল রাখুন।
আপনার প্রোগ্রামিং ভাষার উপর নির্ভর করে, আপনি ক্লাসগুলি চিহ্নিত করতে চাইতে পারেন যা অবশেষে @Deprecated
আপনার দলটিকে তত্ক্ষণাত বুঝতে সহায়তা করতে পারে যে তারা কিছু পরিবর্তন করতে হবে যা নিয়ে কাজ করছে aid
পুরানো কর্মচারী ক্লাসগুলি থেকে মুক্তি পাওয়ার জন্য, আপনি প্রতিটি পৃথক ক্ষেত্রে কীভাবে এটি সর্বোত্তমভাবে নির্মূল করা যায় তা সিদ্ধান্ত নিতে পারেন, বা কেবল একটি সাধারণ প্যাটার্নে সম্মত হন। আপনি শ্রেণীর নামটি সংযুক্ত করতে পারেন এবং এটিকে প্রকৃত কর্মচারীর চারপাশে মোড়ানো করতে পারেন, আপনি নিদর্শনগুলি (ডেকোরেটর বা অ্যাডাপ্টারের মনে আসতে পারেন), বা, বা ব্যবহার করতে পারেন।
একটি দীর্ঘ গল্প সংক্ষিপ্ত করতে: এই "অনুশীলন" প্রযুক্তিগতভাবে সুরক্ষিত, তবে গোপন ব্যয়ে পুরো চেপে গেছে যা কেবল আরও রাস্তায় আরও ঘটবে। আপনি সমস্যাটি তত্ক্ষণাত্ মুক্তি পেতে সক্ষম না হতে পারলে এর ক্ষতিকারক প্রভাবগুলি সহ আপনি তাত্ক্ষণিকভাবে শুরু করতে পারেন।