আপনি কিভাবে আপত্তি না করে কোড করবেন?


27

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

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

আমি জিজ্ঞাসা করা ছাড়া অন্য কী করব তা নিশ্চিত নই, তবে সম্ভবত আপনারাই কিছু ধারণা পেয়েছেন যা আমি অনুশীলন করতে পারি।

হালনাগাদ

কথা বলার জন্য কোনও স্টাইল গাইড নেই - এটি কেবলমাত্র লোকেরা কোডবেস ভাগ করে নেওয়ার জন্য অভ্যস্ত নয়। প্রত্যেকেরই নিজস্ব ছোট সাইলেড কোড-ওয়ার্ল্ড রয়েছে।

এটি পার্ল শপ, তবে আমি নিশ্চিত যে এগুলি যে কোনও ভাষার ক্ষেত্রে প্রযোজ্য

আপডেট 2

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

আমি নিশ্চিত যে এটি একটি কর্মক্ষেত্রে হুমকির একটি উদাহরণ ছিল এবং এরপরে, আমি কাজের পরিবেশে সূক্ষ্ম বঞ্চনা এবং অনুপযুক্ত আচরণ কী হতে পারে তা সম্পর্কে আমি আরও সচেতন।

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


3
তারা কি মনে করে যে আপনি প্রায়শই কোড চেক করেন? নাকি খুব কমই?
অ্যাডাম জ্যাসকিউইজ

3
খুব কমপক্ষে, আপনার পয়েন্টারগুলিকে ডাবল চেক করা আপনাকে কম্পিউটারকে আপত্তি করা থেকে বিরত করবে ( xkcd.com/371 )
রিওয়ালক

4
আপনি যদি সি # তে কোড করেন তবে প্রস্তাব দিন যে সবাই স্টাইলকপ ব্যবহার করে। আপনি যদি অন্য ভাষায় কোড করেন তবে অনুরূপ সরঞ্জামগুলির সন্ধান করুন। ৮০% ক্ষেত্রে সফ্টওয়্যারটির অন্ধ অংশটি সালিশী হয়ে উঠুক।
কাজ

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

2
যদি আপনি কাজ হারাতে বা এমন জিনিসগুলির জন্য "চেকপয়েন্ট" তৈরি করার বিষয়ে উদ্বিগ্ন হন যা ট্র্যাফিক ভাঙতে পারে তবে আপনার উচিত সেই কাজটি ট্রাঙ্কে নয়, একটি শাখায় করা উচিত। তারা এখনও ট্রাঙ্কের বাইরে কাজ চালিয়ে যাওয়ার পরেও এটি করতে পারেন ।
অ্যাডাম জ্যাসকিউইচ

উত্তর:


38

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

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

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

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


14
শাখার বিকল্প হ'ল স্থানীয়ভাবে জিআইটি ব্যবহার করা। এটিতে একটি বিরামবিহীন এসভিএন ইন্টারফেস রয়েছে এবং তারা কখনই আপনার ঘন্টার প্রতিশ্রুতি দেখতে পাবে না।
mattnz

4
আপনি যে কোডটি দেখছেন তা থেকে কোডিং স্ট্যান্ডার্ড ডকুমেন্ট তৈরি করা এবং sensক্যমত্য পাওয়ার বিষয়ে সচেতন হওয়ার জন্য +1। কোনও ব্যক্তির কোডিং স্টাইলটি অন্য কারও অনুসরণ করে না এমনটি অনুসরণ করতে ব্যর্থ হওয়ার জন্য সমালোচিত হওয়া একেবারে বিএসের।
ডেভিড হার্কনেস

24

সাদা স্থান সম্পর্কে: কোডটি ইতিমধ্যে এটি করে তবে এটি করুন Just প্রবাহের সাথে যান।

এসভিএন চেকিন সম্পর্কিত: এগুলি খুব স্পষ্ট করে নথিভুক্ত করুন। এটি কোডগুলিতে কী চলছে তা বুঝতে সহায়তা করে। (ফলোআপ: ঘন ঘন চেকিনগুলি নিয়ে তাদের আপত্তি কী?)

সাধারণভাবে: একটি কোডিং স্ট্যান্ডার্ড ডকুমেন্ট তৈরি করা শুরু করুন। এটি 100 টি নিয়ম পূরণ করার চেষ্টা করবেন না। তারা আসার সাথে সাথে কেবল বিধি যুক্ত করুন।

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


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

7

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

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


4

প্রথমে তাদের কোডিং কনভেনশন ডকুমেন্টটি পড়ুন (যদি তাদের কাছে না থাকে তবে তাদের একটি লিখতে বলুন যাতে আপনি এটি অনুসরণ করতে পারেন)

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

আমি নিশ্চিত যে কোনও নবাগত আপনার পায়ের আঙ্গুলের উপর পা রাখার সময় আপনি এক বছরে বা দ্বিগুণ সময়ে একই কাজ করবেন :)


হ্যাঁ তাদের কোনও সম্মেলন নেই, দীর্ঘকালীন সময়ে তাদের কোনও নতুন বিকাশকারী নেই।
কডেনিনজা

1
@ কোডেনিনজা তাহলে আপনি যদি তাদের অনুসরণ না করেন তবে তারা কীভাবে অভিযোগ করতে পারে? আপনার কোডিং কীভাবে পরিবর্তিত হবে আশা করার আগে তাদের কনভেনশনগুলির একটি সেটে সম্মতি জানাতে হবে। তাদের বলুন যে
টম স্কুয়ার্স 13'11

এই জায়গাটি একটি দুঃস্বপ্ন ছিল, সিটিও যিনি পরে সিইও হয়েছিলেন তিনি ছিলেন সম্পূর্ণ মেজালোম্যানিক। আপনি যদি ঠিক মত জিনিসগুলি না করেন তবে এটি ম্যাক, বা ইম্যাকস বা 2 এর পরিবর্তে 4 টি ট্যাব স্পেস ব্যবহার করছে বা কোনও নির্দিষ্ট উপায়ে সাজিয়েছে, আপনি নিম্নমানের ছিলেন। মোট দুঃস্বপ্ন।
কডেনিনজা

আমি লক্ষ্য করেছি আপনি অতীত কাল ব্যবহার করেছেন। লাফানো জাহাজ? :)
টম স্কোয়ারেস

3

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

এছাড়াও, বুঝতে পারেন যে কোনও প্রকল্পে যে কোনও নতুন বিকাশকারীদের অবশ্যই একটি প্রয়োজনীয় "র‌্যাম্প আপ" সময় থাকবে। সুতরাং নিজেকে নিয়ে চিন্তা করবেন না।


1

আপনি করতে পারেন সর্বোত্তম জিনিস তারা আপনাকে দেওয়া পরামর্শ অনুসরণ করে the তারা কী চায় সময়ের আগে বলার উপায় নেই। মানসিক না হলে

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

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


0

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

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