আপনি যেহেতু পেশাদার প্রোগ্রামার নন তাই আমি সরলতার সাথে লেগে থাকার পরামর্শ দিই। প্রোগ্রামারটির পক্ষে আপনার মোডুলারাইজড, পদ্ধতিগত কোড নেওয়া এবং এটি ওও করা পরে আরও সহজ হবে, তার চেয়ে খারাপ লিখিত ওও প্রোগ্রামটি ঠিক করা তাদের পক্ষে হবে। আপনি যদি অভিজ্ঞ না হন তবে ওও প্রোগ্রামগুলি তৈরি করা সম্ভব যেগুলি একটি অপরিষ্কার জগাখিচায় পরিণত হতে পারে যা আপনাকে বা আপনার পরে যারা আসবে না তাদের সহায়তা করবে না।
আমি মনে করি আপনার প্রথম প্রবৃত্তি, প্রথম উদাহরণে "এই জিনিসটি that জিনিস" কোডটি সঠিক ট্র্যাক। আপনি কী করতে চান তা স্পষ্ট এবং সুস্পষ্ট। কোড দক্ষতা সম্পর্কে খুব বেশি চিন্তা করবেন না, স্বচ্ছতা আরও গুরুত্বপূর্ণ।
কোনও কোড বিভাগ যদি খুব দীর্ঘ হয় তবে এটিকে কামড়ের আকারের অংশগুলিতে ভেঙে দিন, প্রত্যেকটির নিজস্ব ফাংশন রয়েছে। যদি এটি খুব সংক্ষিপ্ত হয় তবে কম মডিউল ব্যবহার এবং আরও বেশি লাইনে রাখার বিষয়টি বিবেচনা করুন।
---- পোস্টস্ক্রিপ্ট: ওও ডিজাইন ট্র্যাপস
ওও প্রোগ্রামিং সহ সফলভাবে কাজ করা জটিল হতে পারে be এমন কি কিছু লোক রয়েছে যারা পুরো মডেলটিকে ত্রুটিযুক্ত বলে বিবেচনা করে। থিংকিং ইন জাভা (এখন এর চতুর্থ সংস্করণে) নামক ওও প্রোগ্রামিং শিখার সময় আমি একটি খুব ভাল বই ব্যবহার করেছি । একই লেখকের সি ++ এর জন্য একটি সম্পর্কিত বই রয়েছে। বস্তু-ভিত্তিক প্রোগ্রামিংয়ের সাধারণ সমস্যাগুলি নিয়ে প্রোগ্রামাররা প্রকৃতপক্ষে আরও একটি প্রশ্ন রয়েছে ।
কিছু অসুবিধাগুলি পরিশীলিত, তবে খুব বেসিক উপায়ে সমস্যা তৈরি করার প্রচুর উপায় রয়েছে। উদাহরণস্বরূপ, কয়েক বছর আগে আমার সংস্থায় একটি ইন্টার্ন ছিল যিনি আমার উত্তরাধিকার সূত্রে প্রাপ্ত কিছু সফ্টওয়্যারটির প্রথম সংস্করণ লিখেছিলেন এবং তিনি সমস্ত কিছুর জন্য ইন্টারফেস তৈরি করেছিলেন mightএকদিন একাধিক বাস্তবায়ন হয়েছে। অবশ্যই, 98% ক্ষেত্রে কেবলমাত্র একক বাস্তবায়ন ছিল, সুতরাং কোডটি অব্যবহৃত ইন্টারফেসগুলি দিয়ে বোঝানো হয়েছিল যা ডিবাগিংকে খুব বিরক্তিকর করে তুলেছিল কারণ আপনি কোনও ইন্টারফেস কলের মাধ্যমে পিছিয়ে যেতে পারবেন না, তাই আপনাকে শেষ পর্যন্ত একটি কাজ করতে হবে বাস্তবায়নের জন্য পাঠ্য সন্ধান (যদিও এখন আমি ইন্টেলিজি ব্যবহার করি এটিতে "সমস্ত বাস্তবায়ন দেখান" বৈশিষ্ট্য ছিল, তবে যেদিন আমার কাছে তা ছিল না ফিরে)) প্রক্রিয়াজাত প্রোগ্রামিংয়ের জন্য এখানে নিয়মটি সমান: সর্বদা হার্ডকোড একটি জিনিস। আপনার যখন দুটি বা আরও বেশি জিনিস থাকে কেবল তখনই একটি বিমূর্ততা তৈরি করুন।
জাভা সুইং এপিআই-তে একই ধরণের ডিজাইনের ত্রুটি পাওয়া যায়। তারা সুইং মেনু সিস্টেমের জন্য একটি প্রকাশনা সাবস্ক্রাইব মডেল ব্যবহার করে। এটি সুইং-এ একটি সম্পূর্ণ দুঃস্বপ্নের মেনু তৈরি এবং ডিবাগ করে তোলে। বিড়ম্বনাটি হ'ল এটি সম্পূর্ণ অর্থহীন। কার্যত এমন কোনও পরিস্থিতি নেই যেখানে একাধিক ফাংশনের মেনু ক্লিকতে "সাবস্ক্রাইব" করতে হবে। এছাড়াও, প্রকাশ-সাবস্ক্রাইব ছিল একটি সম্পূর্ণ ভুল দাবানল কারণ একটি মেনু সিস্টেম সাধারণত সর্বদা ব্যবহৃত হয়। এটি ফাংশনগুলি সাবস্ক্রাইব করা এবং তারপরে এলোমেলোভাবে সাবস্ক্রাইব করার মতো নয়। সূর্যের "পেশাদার" বিকাশকারীরা এ জাতীয় ভুল তৈরি করেছে তা ঠিক বোঝায় যে ওও ডিজাইনে স্মৃতিচিহ্ন স্ক্রু আপ করা পেশাদারদের পক্ষে এমনকি কতটা সহজ।
আমি ওও প্রোগ্রামিংয়ের কয়েক দশকের অভিজ্ঞতার সাথে একটি অত্যন্ত বিশেষজ্ঞ বিকাশকারী, তবে আমি জানি যে আমি জানি না এমন টন রয়েছে এবং এখন আমি প্রচুর ওও ব্যবহার সম্পর্কে খুব সতর্ক। আমি কোনও সহকর্মীর কাছ থেকে দীর্ঘ বক্তৃতা শুনতাম যিনি নির্দিষ্ট নকশাগুলি কীভাবে করবেন সে সম্পর্কে ওও একজন উদ্যোগী। তিনি যা করছিলেন তা তিনি সত্যিই জানতেন, তবে সমস্ত সততার সাথে তার প্রোগ্রামগুলি বুঝতে আমার খুব কষ্ট হয়েছিল কারণ তাদের অত্যাধুনিক নকশার মডেল ছিল had