কীভাবে সতীর্থদের জানাতে পারি যে আমি কোন জিনিসে কী পরিবর্তন করেছি? [বন্ধ]


9

ধরুন আমার কাছে পিএইচপি অবজেক্ট রয়েছে, যাক: কোম্পানী ওজেজে।

class companyObj
{
  private company_name;
  private company_address;

  public function print_contact()
  {
    //logic
  }
}

এটিই আমি লিখেছিলাম এবং সতীর্থদের সাথে ভাগ করে নিই। এখন আমি এটিকে আরও শক্তিশালী করতে চাই:

class companyObj
{
  private company_name;
  private company_address;
  private company_contact_person;

  public function print_contact()
  {
    //logic updated
  }
}

এখন, কীভাবে আমি আমার সতীর্থকে অবহিত করতে পারি যে আমার অবজেক্টটিতে আরও বৈশিষ্ট্য রয়েছে যা তারা নির্ধারণ করতে পারে?

ডেভলপমেন্ট টিমের প্রত্যেককে ইমেল প্রেরণের পরিবর্তে, কীভাবে চলছে তা আমি কীভাবে দলকে জানাব, যখন আমি চাই না যে আমার সতীর্থরা সোর্স কোড স্তরে কী পরিবর্তন হয়েছে তা দেখার জন্য তাদের সময় নষ্ট করবেন?


7
এসএনএন সহায়তা করতে পারে, কারণ তারা জানতে পারবে যে কোডে তাদের কিছু পরিবর্তন হয়েছে ... সুতরাং তারা সরাসরি আপনার পরিবর্তনগুলি আপডেট করতে পারে (নির্দিষ্ট ফাইলটি আপনার ক্ষেত্রে হতে পারে) .. কী পরিবর্তন হয়েছে তা জেনেও না (optionচ্ছিকভাবে তারা না চাইলে থেকে)
প্রেসলেডিয়াস

1
এটি এমন একটি শ্রেণীর যা আপনি অবজেক্টটি লিখেছেন না :) রানটাইমের সময় অবজেক্টগুলি সময় সংকলন করে না
রুন এফএস

উত্তর:


10

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

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

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

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

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

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


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

10

আপনি কি তাদের সাথে কেবল কথা বলার কথা বিবেচনা করেছেন ? একটি সংক্ষিপ্ত বৈঠকের সময়সূচী করুন: "ওহে, আমি এক্স অবজেক্টে কিছু পরিবর্তন করেছি, আমি আপনাকে দেখাতে চাই কী পরিবর্তন হয়েছে এবং কেন"। অথবা, যদি কোনও সভা খুব আনুষ্ঠানিক বা বিঘ্নজনক বলে মনে হয় তবে প্রতিটি ব্যক্তির সাথে স্বতন্ত্রভাবে কথা বলুন।


+1, একরকম সবচেয়ে সুস্পষ্ট উত্তরটি প্রথমে ভাবা হয় না!
NoChance

2

আপনার যদি একটি দল থাকে তবে আপনার সম্ভবত একটি নকশার নথিও রয়েছে। যদি না. এটি শুরু করুন। এবং আপনার ডিজাইন মানচিত্র করতে কিছু ইউএমএল সরঞ্জাম ব্যবহার করুন।


7
যাইহোক, এটি নীতিগতভাবে ভাল বলে মনে হচ্ছে: 1. একটি ডিজাইন নথি যা প্রতিটি একক শ্রেণীর বৈশিষ্ট্যযুক্ত থাকে এবং কোডটির সাথে বজায় রাখতে এবং সাথে তাল মিলিয়ে রাখতে পাছায় ব্যথা হয়ে উঠছে। ২. কোনও ইউএমএল ডায়াগ্রাম বিপরীত কোড থেকে ইঞ্জিনযুক্ত কোনও অযৌক্তিক প্রকল্পে খুব শীঘ্রই এটির বিশদ পরিমাণের কারণে আবার ব্যবহারিকভাবে অকেজো হয়ে যেতে বাধ্য।
পিয়েটার টার্ক

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

1
আমি একটি উচ্চ স্তরের আর্কিটেকচার / ডিজাইন নথির গুরুত্ব সম্পর্কে সম্মত (আমার উত্তর হিসাবে উল্লিখিত)। যাইহোক, এটি উচ্চ স্তরের স্পষ্টভাবে যাতে এটি অবিচ্ছিন্ন পরিবর্তনগুলির সাথে নিয়মিত আপডেট করার প্রয়োজন হয় না।
প্যাটার টারিক

1

আপনি কোডের মধ্যে ডোজিজেনের মতো একটি সরঞ্জাম ব্যবহার করতে পারেন । এখন এমন স্ক্রিপ্ট তৈরি করুন যা ডক্সিজেন ডকুমেন্টেশন তৈরি করে এবং এটি নিয়মিতভাবে চালিত করে, সম্ভবত আপনার রাতের বিল্ডের অংশ হিসাবে (আপনি একটি রাত্রে বিল্ড করেন, তাই না?)

আমি মনে করি আপনি নতুন হিসাবে এটি হাইলাইট করতে আপনি নিজের সংযোজনে ডক্সিজেনে একটি কাস্টম বৈশিষ্ট্য নির্ধারণ করতে পারেন।

যদি আপনার সতীর্থরা কোনও ভাল হন তবে তারা নতুন ডকুমেন্টেশনের মাধ্যমে যাবেন।


সম্ভবত আমি কখনও ভাল সতীর্থদের সাথে কাজ করি নি, যেমনটি আমি এই কাজটি
বাস্তবে

@ পেটারট্রাক আমাকে স্বীকার করতে হবে যে এগুলি আমার মধ্যে অন্তর্ভুক্ত এবং খুব কম লোকের মধ্যে রয়েছে।
তেহনিত

0

এখন, কীভাবে আমি আমার সতীর্থকে অবহিত করতে পারি যে আমার অবজেক্টটিতে আরও বৈশিষ্ট্য রয়েছে যা তারা নির্ধারণ করতে পারে?

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

আপনি যদি এমন কোনও IDE ব্যবহার করেন যা স্বয়ংক্রিয়তা সম্পূর্ণ করার পক্ষে সমর্থন করে, তবে আপনার সতীর্থদের আপনার পরিবর্তনটি লক্ষ্য করা উচিত। আমি শুধু আশা করি আপনি আপনার কোড মন্তব্য করবেন।

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