ড্রাইভার এবং পর্যবেক্ষকের কাছে দক্ষতার স্তর এবং অভিজ্ঞতা থাকতে পারে যখনই জুড়ি প্রোগ্রামিং


30

আমি জানি জোড় প্রোগ্রামিং একটি চতুর সফ্টওয়্যার বিকাশ কৌশল যাতে দুটি প্রোগ্রামার এক ওয়ার্কস্টেশনে একসাথে কাজ করে। একটি, ড্রাইভার, কোড লিখে অন্যটি, পর্যবেক্ষক, কোডের প্রতিটি লাইনটি টাইপ করার সাথে সাথে পর্যালোচনা করে।

তবে আমি কেবল আশ্চর্য হয়েছি যে কৌশলটি এখনও এই ক্ষেত্রে কাজ করে। উদাহরণ স্বরূপ

  • যদি তাদের কাছে খুব আলাদা প্রোগ্রামিং দক্ষতার স্তর থাকে।
  • অন্যটি থাকলেও কেউ যদি সমস্যা ডোমেনে অভিজ্ঞতা না করেন।
  • তাদের যদি প্রোগ্রামিং দক্ষতার স্তর কম থাকে তবে কী এখনও ঠিক আছে?

আপনি উপরের ক্ষেত্রে জুটি প্রোগ্রামিং কৌশলটি পরামর্শ দিতে পারেন?


13
কার উচ্চ দক্ষতার স্তর আছে এবং অন্যটির কোচ করার কথা রয়েছে তার বিষয়ে দু'জনই একমত হয়েছে তা নিশ্চিত করুন। এই ভূমিকা / দক্ষতার স্তরগুলি পরিষ্কার না হলে জুটি প্রোগ্রামিং সম্ভবত কাজ করবে না এবং সংঘাতের দিকে পরিচালিত করবে।
জর্জিও

তবে, আপনার পরামর্শ অনুসারে যদি এটি করা হয় তবে এটি একটি অসাধারণ শেখার সুযোগ হতে পারে।
মাওগ

উত্তর:


27

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

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


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

2
আপনার কেবল সতর্ক থাকতে হবে যে প্রবীণ ব্যক্তি সময়টির 100% ড্রাইভার না হন।
এইচএলজিইএম

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

1
আমি @ থমাস ওভেনসের সাথে একমত; কম অভিজ্ঞ অংশীদার ড্রাইভ করা অন্য যে কোনও পদ্ধতির তুলনায় তার 'অভিজ্ঞতা' দ্রুত বয়ে আনবে, যখন তাদের আরও বেশি প্রবীণ অংশীদারের সাথে তাদের নিজস্ব ধারণা এবং অন্তর্দৃষ্টি ভাগ করে নেবে। তাদের দক্ষতার স্তরটি আরও কাছাকাছি হওয়ার আগে খুব বেশি সময় লাগবে না।
এরিক কিং

1
আমি ভাবছি যে এটি যদি প্রবীণ দেবকে তারা প্রচার করে তা অনুশীলন করতে আরও বাধ্য করে তোলে?
JeffO

16

পুরানো দাড়ি এবং তৃণমূলের মধ্যে ভাগ করে নেওয়ার অভিজ্ঞতা: ঠিক এটির জন্য ব্যবহারের ক্ষেত্রে জুটি প্রোগ্রামিং তৈরি করা হয়েছিল।

এটি দ্বিমুখী ভাগ করে নেওয়া: চতুর পোকামাকড়ের বাতজনিত মস্তিষ্ককে শেখানোর মতো অনেক কিছুই রয়েছে।


1
আপনি যদি আমাকে সম্ভবত বিবেচনা করতে চান তবে আমি 'রিউম্যাটিক
ব্রেইনস

1
আমি মনে করি না "ব্যবহারকারীর গল্প" শব্দটি এখানে প্রয়োগ করা যেতে পারে। ব্যবহারকারী গল্পগুলি একটি সফ্টওয়্যার জন্য ব্যবসায়ের প্রয়োজনীয়তা বর্ণনা করে।
কনরাড রুডলফ

হ্যাঁ, আমি মনে করি তার অর্থ "ইউজ কেস"।
জার্গ ডব্লু মিটাগ

ডাউনভোটেড: উল্লিখিত মামলাগুলি কীভাবে মোকাবেলা করা হবে সেই কৌশল সম্পর্কে কোনও কথা নেই ।
অবশেষে

10

আমি যখন আমার বর্তমান দলে পদোন্নতি পেয়েছি তখন আমি জে 2 ইইতে নবাগত ছিলাম তবে আমি ডোমেনের বিশেষজ্ঞ ছিলাম। আমার সিনিয়র (নতুন টিম লিডার) প্ল্যাটফর্মে নয়, জে 2 ইই তে দক্ষ ছিলেন।

আমার মনে হয় আমি বই পড়ার চেয়ে জোড় প্রোগ্রামিংয়ের সাথে এই 4 মাসে জাভা 2EE সম্পর্কে আরও শিখেছি এবং টিম লিডার প্ল্যাটফর্মটি সম্পর্কেও শিখেছি।

দুজনের মধ্যে অভিজ্ঞতার ব্যবধানটি প্রোগ্রামিং ইমোর জুটির মূল চাবিকাঠি।


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

5

আমি আমার অভিজ্ঞতা বর্ণনা করব এবং এ থেকে কিছু "কৌশল" পাওয়ার চেষ্টা করব।

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

এই পদ্ধতির প্রধান সুবিধাটি হ'ল আমাকে তার জ্ঞান ডোমেইন থেকে অনেকগুলি প্রয়োগের ব্যাখ্যা করতে হয়েছিল, সুতরাং বাস্তবায়নের সঠিকতা এবং প্রক্রিয়াটি সম্পর্কে তার বোঝার বিষয়টি নিশ্চিত করে, যার অর্থ তিনি কেন বুঝতে পেরেছিলেন যে কেন এই সময় লাগল।

আরেকটি সুবিধা হ'ল টাস্কের উপর সহজ ফোকাস, কোনও বাধা নেই (হা-হা, আপনার বসের নাকের আগে টুইটার খোলার কল্পনা করুন)।

এটি অনেক সময় ভীতিজনক ছিল, যেহেতু, এমনকি একটি চা বিরতি "কাজ থেকে কিছুটা বিচলন" হয়ে উঠেছে (তার দৃষ্টিকোণ থেকে নয়; বিরতি জিজ্ঞাসা করা ঠিক অসুবিধে হয়েছিল) ইত্যাদি।

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

আমি মনে করি যে তার যদি কিছু প্রাথমিক প্রোগ্রামার দক্ষতা থাকে তবে এটি আরও ভাল কাজ করবে, কারণ আমাকে "অ্যারে কী তা" ব্যাখ্যা করতে হবে না।

আশা করি এটা সাহায্য করবে :)


এটি ভাল অভিজ্ঞতার ব্যাখ্যা!
সাকারেস

2

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

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


স্বল্প দক্ষতার স্তরের দেবগণ নিজেরাই প্রোগ্রামিং করার সময় কপি এবং পেস্ট করার সম্ভাবনা কম? কেউ যখন না দেখছে তখন সাধারণত এটি ঘটে।
JeffO

1

যতক্ষণ দলের সদস্যরা একে অপরের প্রতি শ্রদ্ধা রাখে ততক্ষণ প্রোগ্রামারদের অভিজ্ঞতার স্তর নির্বিশেষে জুটি প্রোগ্রামিং সুবিধাজনক হতে পারে। এমনকি যদি কোনও জুনিয়র প্রোগ্রামার আরও অভিজ্ঞ প্রোগ্রামারটির আগে কয়েকটি সিনট্যাক্স ত্রুটি (যা আমরা সবাই তৈরি করি!) স্পট করে তবে এখনও সংকলন কোডে সময় সাশ্রয় হয়।

আমি আরও মনে করি এটি তাদের দলের অন্যান্য সদস্যদের ক্ষমতার প্রতি একজন প্রগ্রেমার মনোভাবকে উন্মুক্ত করতে পারে, বিশেষত যদি তাদের মন খোলা থাকে এবং আশা করে যে প্রত্যেকে আপনাকে কিছু শেখাতে পারে।

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