পেয়ার প্রোগ্রামিংয়ের কারণগুলি


13

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

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

যেহেতু উন্নয়নের মেঝেতে এমন কেউ আছেন যা স্পষ্টতই কোনও বই থেকে আমার বই বা বিষয়টির একটি উইকির পাতা টস করেছে তা বুঝতে পারবেন না ... একটি উচ্চ স্তরের পরিচালন অবস্থান থেকে, স্ক্রাম বা এগিলের সাথে ডিল করার সময় পেয়ার প্রোগ্রামিংয়ের কী কী সুবিধা রয়েছে? পরিবেশের?


2
আমি মনে করি এটি খুব নির্দিষ্ট পরিস্থিতিতে কার্যকর। তবে একটি সাধারণ বিকাশের মডেল হিসাবে এটি নিরর্থক।
রায়ান কিনাল

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

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

3
@ জেফল্যাংজিমিয়ার এটি আসলে এর চেয়ে বেশি; আপনি যদি সাবসিস্টেম এ এর ​​বাস্তবায়নের মাঝে দুটি বিকাশকারীদের মধ্যে ঘটে যাওয়া প্রাকৃতিক বক্তৃতাটির কারণে এ -১ এর আগে লেখা সাব-সিস্টেম এ-এর বিভাগ এ -১ এর নকশার ত্রুটিগুলি দেখতে পান তবে আপনি কেবল সেই সময়টিই সংরক্ষণ করছেন না যা ফিক্সিং বিভাগ ব্যয় করতে হবে A1, এবং বিভাগ A5 এবং A7 যা A1 এর উপর নির্ভরশীল (বা A1 সংশোধন করার ফলে ক্যাসকেডের কারণে সেই নির্ভরশীল বিভাগগুলিতে বাগগুলি খুঁজে পাওয়া যায়), আপনি সেই খারাপ বিভাগটি পুরোপুরি না লিখে সময় সাশ্রয় করছেন। এটি পরীক্ষার সময় হ্যাঁ হ্রাস করে, তবে এটি এই ফ্যাশনে ডেভ সময়কে হ্রাস করে।
জিমি হোফা

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

উত্তর:


25

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

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

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

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

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


দুর্দান্ত উত্তরের জন্য +1। আমি এখনও এই ধারণাটি দৃ strongly়ভাবে অপছন্দ করি তবে আপনি এর উপকারগুলি ভালভাবে উপস্থাপন করেন।

আমি আপনার জিব স্যার এর কাট পছন্দ করি, এই ব্যাখ্যাটি আসলে এইটিকে টেকসই মনে করে।
জেফ ল্যাঙ্গেমিয়ার

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

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

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

3
  1. চূড়ান্ত কোডের কম ত্রুটি (দক্ষতা)
    পুরোপুরি কোডের পর্যালোচনাগুলি প্রতিস্থাপন করা হয় না তবে তাড়াতাড়ি জিনিস পাওয়ার জন্য অত্যন্ত কার্যকর। সেখানে গবেষণা আছে যে দিক নির্দেশ করে।

  2. দ্রুত সমাপ্তি (কার্যকারিতা)
    বেশ কয়েকটি গবেষণা এটি দেখিয়েছে। যখন জটিল বৈশিষ্ট্যগুলি আসে 2 টি মাথা আরও কার্যকর more পেয়ারিংয়ের অভিজ্ঞতা এটির জন্য একটি আবশ্যক।

(দ্রষ্টব্য: এটি ম্যানেজারের জন্য আপনার বিক্রয়পীঠ: আর্থিকভাবে একটি বুদ্ধিমান সিদ্ধান্ত কারণ আপনি আরও বেশি দক্ষ গর্তটি কম সংখ্যক বাগ পেয়েছেন এবং দ্রুত সমাপ্তির মাধ্যমে আরও কার্যকর)

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

3

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

আমি ব্লগ পোস্ট থেকে নেওয়া চতুর / স্ক্র্যাম বিকাশের পরিবেশের ক্ষেত্রে প্রযোজ্য জোড় প্রোগ্রামিং বেনিফিটগুলির নির্দিষ্ট ক্ষেত্রে উল্লেখ করতে চাই :

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

সংক্ষেপে:

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

When two developers work together design pattern quality improves-> এই শব্দগুচ্ছটি মোটেই বোঝা যায় না। কমপক্ষে When two bakers work together wheat quality improvesবা এর চেয়ে বেশি জ্ঞান নেই When two race drivers work together asphalt quality improves
ফ্রেসেল

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

2

জুড়ি প্রোগ্রামিংয়ের জন্য কয়েকটি সুবিধা রয়েছে:

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

উইকিপিডিয়ায় উইকিতে প্রবেশের জন্য ব্যয় এবং উপকারের একটি দুর্দান্ত সারসংক্ষেপ রয়েছে ।

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