আমি সুন্দরভাবে লিখিত, অতিরিক্ত প্রকৌশলিত কোডের আমার অংশের সাথে মিলিত হয়েছি ... এক মুহূর্তে আমি ভাবছি "এটা এমন একটি আকর্ষণীয় উপায়" এবং পরবর্তী মিনিটে আপনি চিন্তা করছেন "এখানে কী ঘটেছে! • The (আপনি এটি প্রয়োজন হবে না) নীতিটি অতিরিক্ত প্রকৌশল প্রতিরোধ করার একটি ভাল উপায়: কার্যকারিতা কেবলমাত্র আপনি তাদের প্রয়োজন যখন বাস্তবায়ন করা উচিত, আপনি তাদের প্রয়োজন হবে সম্ভাবনা উপর নয়. আমি অতিরিক্ত প্রকৌশল কয়েকবার উল্লেখ করেছি, এবং আপনি এই পড়া হয়তো ভাবছেন কি অতিরিক্ত প্রকৌশল? এখন YAGNI এখন খুব সহজে বলা যায়, অতিরিক্ত প্রকৌশল সফ্টওয়্যার / সিস্টেম ডিজাইনটি প্রয়োজনীয় চেয়ে আরও জটিল করে তোলে; এটি সাধারণত কারণ আপনি আপনার উপাদানটিতে অতিরিক্ত কার্যকারিতা যোগ করতে চান যাতে A এর বাস্তবায়ন সহজ হয়, শুধুমাত্র পরে B এর কার্যকারিতা যোগ করতে। আমরা আমন্ত্রণগুলি পরিচালনা করার জন্য এই কোড বেস আছে; এটি একটি ঐতিহ্যবাহী, ঐতিহ্যবাহী কোড বেস, প্রযুক্তিগত ঋণ যা আগ্রহ বৃদ্ধি করে। আপনি কোড বেসে কাজ করার চেষ্টা করছেন যত বেশি, অন্য কোথাও কিছু ভেঙে যায়। আপনি বেশিরভাগ ক্ষেত্রে পুনরুদ্ধার করতে হবে এবং সবকিছু শুরু করতে হবে। ঐতিহ্যবাহী কোডের চারপাশে কাজ করা অবশেষে প্রযুক্তিগত ঋণের উপর আগ্রহ সংগ্রহ করে; এটি অ্যাপ্লিকেশন জুড়ে বৈশিষ্ট্যগুলি ভেঙ্গে যাওয়ার ঝুঁকি বা কোড বেসে আরও প্রযুক্তিগত ঋণ যোগ করার মধ্যে একটি বিরতি। তৃতীয় সমাধান আমরা আবিষ্কার করেছিলাম অবরোধ। আমরা নতুন বৈশিষ্ট্যগুলি বা অ কোডের ভিত্তিতে একাধিক ব্যক্তির সাথে সহযোগিতা করার সময় (যা প্রায় সবসময়ই হয়), এবং কোম্পানির জন্য যারা কোডের গুণমানের তুলনায় শিপিং বৈশিষ্ট্যগুলিতে বেশি আগ্রহী, কোড পর্যালোচনাগুলি সবসময় ক্ষতিগ্রস্ত হয়। অতিরিক্ত প্রকৌশল এবং অতিরিক্ত ত্রুটিযুক্ততার মতো সমস্যাগুলির জন্য, ঐতিহ্যগত লাইন-পরিচ্ছন্ন কোড পর্যালোচনাগুলি প্রায়ই এই সিস্টেম্যাটিক সমস্যাগুলি মিস করে। স্প্যাগেট ড্রাই কোড আমরা DRY (আপনি নিজেকে পুনরাবৃত্তি করবেন না) গীর্জা অনুসরণ করি কারণ এটি কাজকে সহজ করে দেয়, এবং ডেভেলপাররা অভ্যন্তরীণভাবে (একটি ভাল উপায়ে)। . সিস্টেমগুলি সহযোগী মডিউলগুলির একটি সেট থেকে গঠিত হওয়া উচিত, যার প্রত্যেকটি একে অপরকে স্বাধীনভাবে কার্যকারিতা বাস্তবায়ন করে। প্রোগ্রামার: Journeyman থেকে মাস্টার পর্যন্ত Kitap.Guru। orthogonal সিস্টেম এবং DRY কোডের উপর আরো মনোযোগ দেওয়া উচিত; আপনি যে পুনরায় ব্যবহারযোগ্য ফাংশনগুলি একসঙ্গে তৈরি করেন তা সংযুক্ত করা সহজ এবং রিপোজিটর প্রগতিশীল হওয়ার সাথে সাথে সাথে তাদের স্ক্যালিং করা উচিত যখন তারা বর্ধিত এবং অতিরিক্ত অক্ষরিত হয় না, তখন আপনি এতটুকু একে অপরের সাথে জড়িত একটি কঠিন সিস্টেমের সাথে শেষ করবেন যা কোডের কোন দিকগুলি সংযুক্ত করা কঠিন হবে যা সঠিক নিয়ম পূরণ করে না, আপনি নিজেকে কোডটি দ্বিগুণ করতে পাবেন কারণ এটি একটি নতুন সংযোগের জন্য কাজ করে একটি পুরাতন সিস্টেম ভেঙ্গে যায়। জটিল উপাদান আপনার উপাদানগুলি শুধুমাত্র পুনরাবৃত্তি এড়াতে নয়, বরং সমগ্র সিস্টেমের ছোট ধারণাগুলির উপরও মনোযোগ দিতে হবে; অন্যথায়, আপনি উপাদানগুলির সাথে এমন জটিল হয়ে উঠবেন যে তারা সহজেই সংযুক্ত উপাদানগুলির জন্য একক পরিবর্তন দিয়ে ভেঙে যেতে পারে। পুনরাবৃত্তি কোড তৈরি করার সময়, পদ্ধতিটি কোড লিখতে হবে যা নির্দিষ্টভাবে কাজ করার জন্য অন্য কোনও কোড ব্লক উপর নির্ভর করে না। পুনরাবৃত্তি একটি সরঞ্জাম হিসাবে ব্যবহার করা উচিত এবং লক্ষ্য নয়; যখন আপনি একই উপাদানটিতে ব্যবসা বা API লজিকের সাথে পুনরাবৃত্তিযোগ্য ইউআই উপাদানগুলি থাকেন, তখন আপনি অতিরিক্ত অতিরিক্ত ত্রুটি এবং অতিরিক্ত প্রকৌশল এড়ানোর জন্য প্যাটার্ন মডিউল মডিউল মডিউল মডিউলীয়তা আপনার সিস্টেমকে ছোট, স্বাধীন কোড / উপাদানগুলিতে ভেঙে ফেলতে পারে যা মডিউল নামে পরিচিত। দয়া করে ‘মোট’ শব্দটির দিকে মনোযোগ দিন; এটি প্রয়োজনীয় চেয়েও বেশি কোডের সাথে একটি বর্ধিত মডিউল থাকতে পারে, যা অতিরিক্ত ত্রুটি সৃষ্টি করে এবং এড়ানো উচিত। ফাংশন প্রথমে orthogonal সিস্টেমগুলি নির্মাণ করার জন্য একটি ভাল পদ্ধতি এবং সহজেই অতিরিক্ত অপসারণ এড়ানোর একটি ভাল পদ্ধতি হল ফাংশনগুলি প্রথমে, তারপর বৈশিষ্ট্যগুলি তৈরি করা; এটি উপাদান ভিত্তিক আর্কিটেকচারের সাথে ভাল সমন্বয় করে (উইআই উপাদানগুলি stateful উপাদানগুলি থেকে আলাদা করে)। ফাংশনগুলি ফাংশনগুলির মধ্যে সর্বনিম্ন পুনরায় ব্যবহারযোগ্য কোড ইউনিটগুলির উপর মনোযোগ দেবে যা বৈশিষ্ট্যটি বাস্তবায়ন করার জন্য সংগৃহীত হয়. একটি লগইন বৈশিষ্ট্য নিম্নলিখিত ফাংশনগুলি অন্তর্ভুক্ত করবে: ব্যবহারকারীর নাম এবং অতিরিক্ত কৌশলগত কোডের জন্য কোন মেডেল নেই প্রতিটি কোড বাস্তবায়নের পরে, নিজেকে জিজ্ঞাসা করুন যে একই ফলাফল অর্জন করার একটি সহজ বা সহজ উপায় আছে কিনা। আমাদের অধিকাংশই কোড সম্পর্কে গল্প শুনেছেন যা কোম্পানির শুধুমাত্র এক ব্যক্তি দ্বারা সম্পাদিত বা কাজ করা যেতে পারে, যা গর্বিত হতে পারে না। একটি কোম্পানির প্রাক্তন কর্মী কোড চেক করতে না এবং তার হার্ড ড্রাইভে কোড বেসের প্রোগ্রাম এবং অংশগুলি থাকার জন্য বিখ্যাত (এই পণ্য রক্ষা করার জন্য ওভারহেডটি কল্পনা করুন!). “We ran out of columns” - জিমি মিলার এর সেরা, সবচেয়ে খারাপ কোডবেস আমি নিজেকে অতিরিক্ত উন্নত কোড লিখতে পেরেছি কারণ আমি একটি নতুন প্রযুক্তি / প্যাকেজ / লাইব্রেরি ব্যবহার করতে চাই যা আমি শুধু সম্পর্কে শিখেছি, এটি কাজের জন্য সবচেয়ে সহজ সরঞ্জাম কিনা তা বিবেচনা না করে। ফাইনাল সব সম্ভাব্য ভবিষ্যত এবং সময় ভ্রমণের ক্ষেত্রে সঠিক কোডগুলি লেখার জন্য অনুসন্ধানে, আপনি একটি অতিরিক্ত প্রকৌশলী কোড বেসের সাথে শেষ করবেন। আপনি এটি ছেড়ে দিতে হবে কারণ এটি নিখুঁত কোড লিখতে অসম্ভব, আপনার সমস্ত অবিলম্বে প্রয়োজনীয়তাগুলি পূরণ করার জন্য যথেষ্ট ভাল লক্ষ্য করতে হবে। DRY নীতিটি মৌলিক; পুনরাবৃত্তি এখনও সফ্টওয়্যার ডেভেলপমেন্টে একটি পাপ। DRY নীতিটি একটি অটোগোনাল সিস্টেমে প্রয়োগ করা উচিত যা একটি কোড বেস তৈরি করে, প্রতিটি মডিউল স্বাধীনভাবে এবং একটি পৃথক মিটিং পয়েন্টে ডেটা বিনিম