আপনার প্রয়োগের আগে বা পরে ক্লাস ডায়াগ্রামগুলি তৈরি করা উচিত?


11

আপনি সুবিধাটি পাওয়ার আগে আপনি যদি একটি তৈরি করেন তবে আমি এটি যেভাবে দেখছি:

  • সামনের পরিকল্পনা
  • প্রকল্পের ওভারভিউ

তবে আপনি হেরে গেছেন:

  • সময় (কাজ করার পরে আপনি সম্ভবত কোড লেখার সময় পুনরাবৃত্তি শেষ করবেন)

অন্যদিকে, আমি আমার কোড লেখার পরে এগুলি কেবল ভবিষ্যতের বিকাশকারীদের জন্য একটি রেফারেন্স হিসাবে রাখার জন্য তৈরি করতে পারি could

কোনটি শ্রেণীর চিত্রগুলির উদ্দেশ্যে কাজ করে এবং কোনটি বেশি সুবিধাজনক?


2
প্রশ্ন হতে পারে: "আপনার কি ক্লাস ডায়াগ্রামগুলি তৈরি করা উচিত?"। অন্যথায়, লরেঞ্জোর জবাবটি দেখুন :)
হাইলেম

উত্তর:


9

আপনি যদি এগুলি আগে তৈরি করেন তবে সেগুলি ডিজাইন পর্বের অংশ হবে।

আপনি যদি এগুলি পরে তৈরি করেন তবে আপনি সেগুলি ডকুমেন্টেশনের জন্য ব্যবহার করতে পারেন। আপনি যদি নকশা এবং কোডিংয়ের সময় ডকুমেন্টিংটি করেন তবে তা আরও ভাল এবং দ্রুত।

যাইহোক, আপনি ডিজাইন করতে সময় হারাবেন না! কোডিং অংশটি দ্রুত হবে। এবং আরও ভাল।

সর্বোপরি, আপনি কি মনে করেন যে গগনচুম্বী বা ব্রিজের নকশা করা কেবল এটি নির্মাণ শুরু করার পরিবর্তে সময়ের ক্ষতি হয়?

একটি আপস হ'ল ডিজাইনের পর্যায়ে কিছু ডামি কোড তৈরি করা শুরু করা (ক্লাস / ফাংশনগুলির প্রোটোটাইপস) এবং শ্রেণি চিত্রগুলি তৈরি করতে এই কোড কঙ্কাল ব্যবহার করুন।


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

12

কোডিংয়ের আগে আমি যখন এগুলি তৈরি করেছি তখন আমরা এগুলিকে "অস্থায়ী" নথি হিসাবে দেখি। এটি হ'ল আমরা চিত্রগুলি তৈরি করি এবং আমাদের চিন্তাভাবনাগুলিকে কাগজে পরিণত করি। আমরা সেই শ্রেণীর চিত্রগুলি থেকে কোডিং শুরু করি। তারপরে আমরা তাদের ফেলে দেই। একবার কোডিং শুরু হয়ে গেলে এগুলি বজায় রাখতে সময় ব্যয় করার উপযুক্ত নয়। এবং আপনি যদি আপ-টু-ডেট ক্লাসের মডেলগুলি চান তবে কোড থেকে সেগুলি তৈরি করতে একটি সরঞ্জাম ব্যবহার করুন।


4

উভয় ক্ষেত্রেই তারা ডকুমেন্টের অংশ হিসাবে আটকে থাকবে। বাস্তবায়নে পরিবর্তন আনলে কেউ এগুলি আপডেট করবে না। ডায়াগ্রামগুলিতে তারিখগুলি থাকবে না তাই তারা কোডের কোন সংস্করণ উল্লেখ করে তা আপনি জানতেও পারবেন না। যখন কোনও নতুন প্রকল্পে যুক্ত করা হবে আপনি তাকে বা তার ডায়াগ্রামগুলি বলবেন যে "এখানে কিছু চিত্র রয়েছে যা ডিজাইন বা বাস্তবায়নের সময় কোনও এক সময় তৈরি হয়েছিল they সেগুলি কতটা আপ টু ডেট তা আমরা জানি না।"


3
সাধারণভাবে ডকুমেন্টেশন সহ এটি ঘটে। আমি সম্প্রতি একটি নতুন কাজ শুরু করেছি এবং তারা আমাকে পুরানো ডকুমেন্টেশনের একটি স্ট্যাক দিয়েছে। এবং এটিকে সবচেয়ে খারাপ করার জন্য এখনও আমি যা কিছু করি তা নথিভুক্ত করতে হবে।
Korbin

3

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

বাস্তবায়নের পরে একটি নকশা সরবরাহ করা হ'ল আমি "কাউবয় কোডিং" বলব এবং নিশ্চিত যে আপনি বন্য জঙ্গলের পশ্চিম দিকে সাফল্য অর্জন করতে পারেন তবে মনে রাখবেন কাউবয়রা সাধারণত কোনও না কোনও সময়ে মরে যায়।


3

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

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

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


1

বাস্তবায়নের আগে। আমার এক প্রাক্তন সহকর্মী একবার বলেছিলেন 'কোডিং শুরু করার আগে আমি যতটা সম্ভব প্রোগ্রামিং করতে চাই', এবং আমি মনে করি এটি এটির পক্ষে একটি ভাল পদ্ধতির।


1

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

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


1

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

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


1

পূর্বে : এটি আপনার চিন্তাগুলি আপনার উদ্দেশ্যকে সংগঠিত এবং যোগাযোগ করতে সহায়তা করবে। এখানে বিশদে যাবেন না।

এর পরে : বিল্ড প্রক্রিয়াটির অংশ হিসাবে এটি কোড থেকে স্বয়ংক্রিয়ভাবে উত্পন্ন হয়েছে, স্পষ্টতই (আশা করি আপনি ইউএমএলে খুব বেশি সংযুক্ত নন)

উভয়ই দরকারী, তবে এটি কার্যকর হওয়ার সাথে সাথে জিনিসগুলি ফেলে দেওয়া যেতে পারে ... এটি ইতিমধ্যে এই মুহূর্তে পুরানো।


0

সঙ্গে Topcased , আমি নকশা সময়ে আমার ক্লাসের চিত্র তৈরি করুন। তারপরে আমি আমার প্রয়োগের একটি ক্যানভাস তৈরির জন্য "কোড উত্পন্ন করুন" বোতামে ক্লিক করি। তারপরে আমি কোড সহ স্থানধারকগুলি পূরণ করি।


0

আমি উত্তরের জন্য ভোট দিতে যাচ্ছি (সি) বিরক্ত করবেন না।

তারা মূলত অপ্রয়োজনীয়। ব্যক্তিগতভাবে, কখনই তাদের সরবরাহ করা হয় সেদিকে তাকাবার জন্য আমি মাথা ঘামাই না।

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

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

অবশ্যই, এই উত্তরটি সত্যই অহংকারী এবং মতামতযুক্ত বলে মনে হচ্ছে; আচ্ছা ভালো.


0

আইফেল এবং সম্পর্কিত সরঞ্জামগুলির সাহায্যে এটি একই দৃষ্টিভঙ্গির একই পার্থক্য যা সমস্ত একই অন্তর্নিহিত ফাইলগুলিতে দেখায়।

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