আমার সহকর্মী সে যে জিনিসগুলির সাথে কাজ করে তা বুঝতে পারে না। কি করো? [বন্ধ]


13

আমি আমার সহকর্মীর তৈরি একটি লাইব্রেরিতে একটি খুব অস্পষ্ট বাগটি ডিবাগ করে 3 দিন অতিবাহিত করেছি, এই বাগটি খুব কমই ঘটে। সর্বোপরি আমি দেখতে পেয়েছি যে কোনও লক ছাড়াই কোনও বস্তুর ক্রস-থ্রেড অ্যাক্সেসের কারণে এই বাগটি ঘটে happens প্রকৃতপক্ষে এটি এই ধরণের প্রথম বাগ নয়, আগে একই ধরণের বাগ রয়েছে। তিনি কেবল তার ইউনিট পরীক্ষা চালান, এবং যদি কিছু ব্যর্থ হয় তবে কোথাও একটি লক রাখে। এবং যদি কিছুই ব্যর্থ হয় তবে উহম, তার কোডটি নিখুঁত। দেখে মনে হচ্ছে সুরক্ষা সুরক্ষা সম্পর্কে তাঁর কোনও ধারণা নেই। আমি 100% নিশ্চিত যে এখানে অনেকগুলি অনুরূপ বাগ রয়েছে যা এখনও অবধি প্রকাশিত হয়নি। দেখে মনে হচ্ছে প্রধানমন্ত্রী থ্রেডিং স্টাফগুলিও বুঝতে পারেন না।
সমস্যাটি হ'ল তিনি আমার চেয়ে কোম্পানিতে অনেক বেশি সময় কাজ করেন। যাইহোক, আমি কেবল "এই লোকটি এই অঞ্চলে অক্ষম" বলতে পারি না, কারণ এটি আপনাকে সর্বদা "খারাপ দলের খেলোয়াড়", ইত্যাদি হিসাবে দেখায় etc.


এটা কোন দেশ?

এটি আন্তর্জাতিক সংস্থা।
টিকা

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

সম্ভবত প্রকল্প পরিচালন এসই সাইটে অন্তর্ভুক্ত on
বার্নার্ড

1
প্রজেক্ট ম্যানেজমেন্ট এসই সাইটে কোনও "মাল্টিথ্রেডিং" ট্যাগ নেই, যা এই প্রশ্নের হওয়া উচিত।
রাল্ফচাপিন

উত্তর:


13

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


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

হ্যাঁ, এবং একটি বড় সমস্যা - ইংরেজি আমার মাতৃভাষা নয়, আমি খুব ভাল কথা বলি না।
টিকা

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

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

8

একটি ইউনিট পরীক্ষা লিখুন যা বাগটি দেখায় এবং এটি সংশোধন করতে বলুন।


1
তিনি ইতিমধ্যে এই বাগ সম্পর্কে অবগত আছেন। তিনি কেবল কারণ খুঁজে পেতে পারেন না।
টিকা

তিন দিনের ডিবাগ সেশনে আপনি কারণটি খুঁজে পাননি? নাকি আমি আপনার প্রশ্নটি ভুলভাবে পড়েছি?

1
@ স্কারফ্রিজ প্ল্যাটফর্মের উপর নির্ভর করে। জাভার জন্য আপনি বাইট কোড ইন্সট্রুমেন্টেশন বা আসপেক্ট ওরিয়েন্টেড প্রোগ্রামিং ব্যবহার করতে পারেন সমস্যাটি ঠিক কোথায় রয়েছে তা অপেক্ষা sertোকাতে, (বা এক্সিকিউশন নিয়ন্ত্রণ করতে জেভিএমটিআই ব্যবহার করুন)। এটা করা সম্ভব!

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

1
আসলে এটি কেবল পদ্ধতির একটি সেট যা কয়েকবার বিলিয়ন বার বার কল করে। তবে এতে খুব বেশি কিছু আসে যায় না। আসল কারণ হ'ল লক ব্যতীত (যেমন মেমরির বাধা ছাড়াই) 2 থ্রেড থেকে একটি অভিধানের অ্যাক্সেস। থ্রেড এ এটি তৈরি করে, থ্রেড বি এটি পড়ে।
টিকা

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

আমি আপনার ধারণা পেতে। আপনার আদেশ পালন করুন।
টিকা

2
কোনও সমস্যা দেখানো একটি পরীক্ষাকে "ইউনিট পরীক্ষা" বা "ইন্টিগ্রেশন টেস্ট" বলা হলে তাতে কী আসে যায়? পুরো পরিস্থিতি আগের মতোই রয়েছে।
ডক ব্রাউন

1
আমার উদ্বেগ হ'ল তাঁর সহকর্মী ইউনিট এবং উপাদান পরীক্ষার মধ্যে পার্থক্যটি জানেন না, তাই এই সমস্যাটি সমাধানের জন্য আরও প্রশিক্ষণের প্রয়োজন হতে পারে।
কোডার্ট

@ কোডারশ - আমি পিয়ার পর্যালোচনাতে বিশ্বাস করি না তা আমি গ্রহণ করি? আপনার অন্য কেউ আপনার কোডটি পুনরায় পরীক্ষা করছে (কেবলমাত্র উত্পাদনে ক্র্যাশের বিপরীতে) এই প্রশংসা করতে আপনার কী দরকার?

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

-5

আমি মনে করি আপনার সংস্থার মাল্টিথ্রেডিং ব্যবহার করা উচিত নয়।

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

আপনি এটি পরিচালনা করতে সক্ষম হতে পারেন, কিন্তু আপনার সংস্থা এটি করতে পারে না। এমনকি যদি তারা সমস্যাটি বোঝে, যা তারা না করে তবে তাদের দক্ষতা নেই।

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

মাল্টিথ্রেডিংয়ের সমস্ত বিপদে জোর দিন। (ভয়ের গল্প: আমার প্রিয় বাগ মত লাইনের একটি দম্পতি জড়িত int i = 5; i = i * i;, যা ফলে i35 এক আমি একটি মান না থাকার দেখেছি অনেক ছিল: if (thing != null) thing.reset();। একটি নাল পয়েন্টার ব্যতিক্রম নিক্ষেপ) আমি মনে করেন যে আপনার একমাত্র আশা তাদের করছে বুঝতে তারা পুরো, নতুন, অদ্ভুত বিশ্বে পদক্ষেপ নেওয়া এবং সম্ভবত তাদের একটি বড় পদক্ষেপ নেওয়া উচিত।

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


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

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

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

1
নির্বিশেষে, যখন প্রশ্নটি হয় "আমি দক্ষতার অভাবী এমন একজন সহকর্মীকে কীভাবে পরিচালনা করব?", আমি মনে করি না "আপনার সংস্থাটি সফ্টওয়্যারটি ভুল তৈরি করছে" এটি একটি বৈধ উত্তর। যে কোনও সংস্থায়, যতই বিস্তৃত এবং জ্ঞানহীন, সর্বদা তাদের জ্ঞানের ফাঁকফোকর রয়েছে। কারা সংস্থাটি বা সফ্টওয়্যারটি কী করছে তা না জেনে আমি মনে করি না আপনি নির্ভরযোগ্যভাবে রায় দিতে পারেন যে সংস্থাটি কী করছে তারা জানে না, বা মাল্টিথ্রেডিং ছাড়াই তাদের সমস্যা সমাধান করা যেতে পারে।
anaximander
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.