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