কীভাবে কোনও সহকর্মীর কোড প্রবর্তন করবেন


11

আপনার টিমের একজন নতুন সদস্যের সাথে কোডবেস, যা জটিল এবং অনেকগুলি "গোটচাস" এর সাথে জড়িত হতে পারে তা প্রবর্তন সম্পর্কে আপনি কীভাবে যেতে পারেন?

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

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

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

প্রকল্পটি এমন এক পর্যায়ে পৌঁছে যাচ্ছে যেখানে আমরা এটি ক্লায়েন্টের হাতে তুলে দেব, এবং বিষয়গুলি আরও চ্যালেঞ্জিং করার জন্য, যার সাথে আমি জ্ঞান স্থানান্তর করব, মূলত কলেজের বাইরে। (সিনিয়র বিকাশকারীদের সাথে জ্ঞান স্থানান্তর করার সময় আমি আরও বেশি ভাল না better)

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

যেকোনো উপদেশ সাদরে গৃহীত হবে। আমি বেশিরভাগ গাইডলাইন অনুসরণ করছি যা আমি অনুসরণ করতে পারি। উদাহরণস্বরূপ: আপনি কোথা থেকে শুরু করবেন? আপনি কিভাবে এগিয়ে যান? কীভাবে আপনি সারাদিন না নিয়ে শ্রোতাদের পক্ষে অপরিচিত প্রযুক্তি বা নিদর্শনগুলি আবরণ করবেন? কোড-কাঠামো বনাম ব্যবসায়ের যুক্তি আপনি কোথায় বেঁধেছেন?

ধন্যবাদ!

(সর্বদা হিসাবে, আপনি উপযুক্ত হিসাবে দেখুন প্রশ্নটি নির্দ্বিধায় দ্বিধা বোধ করুন।)


3
আপনি কোড কেন মন্তব্য করলেন তা বুঝতে পারছেন না ...
রিগ

4
@ রিগ - হ্যাঁ, সাধারণত সাথে# TODO: fix this ugly hack
অবিচ্ছিন্নভাবে

উত্তর:


9

প্রথম পদক্ষেপটি অবশ্যই কোড থেকে "গোটচাস" সরিয়ে ফেলতে হবে। সাফ, সংক্ষিপ্ত, সামঞ্জস্যপূর্ণ কোডে প্রবেশ করা, সাথে কাজ করা এবং ডিবাগ করা সহজ।

আপনি কোথায় শুরু করবেন?

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

কীভাবে আপনি সারাদিন না নিয়ে শ্রোতাদের পক্ষে অপরিচিত প্রযুক্তি বা নিদর্শনগুলি আবরণ করবেন?

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

কোড-কাঠামো বনাম ব্যবসায়ের যুক্তি আপনি কোথায় বেঁধেছেন?

আমি চেষ্টা না। আগতদের পক্ষে নিজেরাই শেখা প্রায় সর্বদা ভাল যাতে এটি তাদের চিন্তাভাবনার চেয়ে প্রাকৃতিক গঠনে তাদের মনের মাঝে বসে।


একটি বিষয় মনে রাখবেন তা হল নির্দেশকে সংক্ষিপ্ত রাখা। লোকেরা খুব তাড়াতাড়ি চেক আউট করার ঝোঁক রাখে, সুতরাং সেই সময়ে আর কোনও নির্দেশনা কেবল 'স্টিক' করে না। 15-60 মিনিটের জন্য তাদের জিনিসগুলি দেখান (বিভিন্ন ব্যক্তির মনোযোগ স্প্যান থাকে) তারপরে এটি প্রক্রিয়া করার জন্য 5-30 মিনিটের বিরতি নিন।


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

2

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

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


1

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

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

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

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

আপনি যদি আপনার প্রতিদিনের কাজগুলিতে লেখচিত্র বা ডায়াগ্রামগুলি উল্লেখ করেন তবে সেগুলি অন্তর্ভুক্ত করুন। যদি আপনি কখনই এটি তৈরি করতে বিরক্ত করেন না তবে সম্ভবত এটি সম্ভবত আপনার উত্তরসূরি / সহকর্মীর পক্ষে কার্যকর হবে না।

শিক্ষকতা যখন তাদের জুতাগুলিতে নিজেকে রাখার চেষ্টা করা হয় তখন সবচেয়ে কঠিন কাজগুলির মধ্যে একটি। এই ক্ষেত্রে, আপনি হয় তাদের জুতা হবে। এর সঠিক ব্যাবহার করো.


এখানে প্রচুর ভাল পরামর্শ - যে বিষয়গুলিতে সহায়তা করা উচিত তার উপর একটি ভিন্ন দৃষ্টিভঙ্গি রাখে। ধন্যবাদ!

0

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

যদি আপনি কোড পরিবর্তন সম্পর্কে অনিশ্চিত হন (বা তারা হয় তবে সাধারণত আমি কোডবেসের সাথে পরিচিত না হওয়া পর্যন্ত আমার কোড ফিক্স সম্পর্কে অনিশ্চিত থাকি) তবে আপনি চেকইন করার আগে এটি পর্যালোচনা করতে পারেন।

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

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