শক্তিশালী বিকাশকারী ব্যক্তিত্ব বনাম কোডের মানকে কীভাবে ভারসাম্য বানাবেন


15

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

আমি একটি সমন্বিত দল বজায় রাখতে চাই, তাই আমি আমার সংরক্ষণগুলি সম্পর্কে খুব সোচ্চার হয়ে উত্তেজনা তৈরি করতে চাই না। আমি খুব কমনীয় না হয়েও আমাদের গ্রাহকদের জন্য একটি দুর্দান্ত পণ্য তৈরি করতে চাই।

Ditionতিহ্যগতভাবে, কার চেক ইন হয় এবং কীভাবে 'ভেটো' শক্তি রয়েছে?

কোডটি কীভাবে কাজ করে, তবে এটিতে খুব জড়িত / চতুর পায়ের আঙ্গুল না রেখে মুছে ফেলা যায়?


7
আপনি কি "চালাক" হিসাবে বিবেচনা করেন তার একটি উদাহরণ যুক্ত করতে পারেন, তাই আমরা সবাই একই পৃষ্ঠায় আছি?
ব্ল্যাকজ্যাক

এর সাথে জড়িত ব্যক্তিদের শ্রেণিবিন্যাস কী?

2
চতুর সমাধান কি? সমাধানটি কীভাবে অস্বীকার করবেন তা বলার ক্ষেত্রে আমি আপনার স্বাচ্ছন্দ্যবোধ করব না যদি এটি আপনার নিজের ধারণার তুলনায় প্রকৃত পক্ষে উচ্চতর হয়।
jojo

'চতুর' কোডটি কি অকালিকল্পিতভাবে অপটিমাইজড হয়, বা অকাল জেনারালাইজড হয়? সংক্ষিপ্ততার উপযুক্ত পরিমাপের জন্য সাধারণত সংক্ষিপ্ততম কোডটি জয়ী হয় (DRYness বা টোকেন, অক্ষর নয়) characters
কেভিন

3
বিকল্প প্রস্তাব। অন্যথায় আপনি সত্যিই উত্পাদনশীলতার অন্তরায়। বিকল্প পদ্ধতির ছাড়াই সমালোচনার কাছে "পাল্টা যুক্তি" সরবরাহ করা কঠিন। এটা কিছুটা আসামির উপর প্রমাণের বোঝা চাপানোর মতো। আপনি তাদেরকে সম্ভাব্য সমস্ত পাল্টা পরিস্থিতি থেকে রক্ষা করতে বলছেন।
নিকোল

উত্তর:


16

আমি এই উক্তিটি ভালবাসি:

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

একদিকে, এটি আপনাকে খুব চতুর কোড থেকে ক্লান্ত করে তোলে, কারণ এটি ডিবাগ করা এবং পরে প্রসারিত করা শক্ত হবে।

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

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


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

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

10

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

যদি এর ভাল কোডটি কিছুটা জটিল হয় তবে বেশিরভাগ লোক কোডের মান বা বিকাশকারীর দক্ষতা সম্পর্কে কিছু না বলেই ইঙ্গিতটি পাবেন।

পুনশ্চ. স্পষ্টতই এই কোডটির বেশিরভাগ ক্ষেত্রেই সাবজেক্টিভ হবে, সুতরাং এক ব্যক্তির অসম্ভব চতুর কোডটি অন্য কোনও দেবের কাছে একটি শিল্প-মানক অ্যালগরিদম হতে পারে, সুতরাং আপনি সরাসরি খারাপ কোড লেখার জন্য কাউকে অভিযুক্ত করতে পারবেন না (বাদে যখন তার স্পষ্টতই স্পষ্ট থাকে তবে যেমন ঠিকাদার যে কোনও বাইট অ্যারে স্টিল তালিকায় অনুলিপি করেছিল, এটিকে একটি এনক্রিপশন রুটিনে পাস করেছে এবং তারপরে এটিকে আবার বাইট অ্যারে রূপান্তরিত করেছে!)


4
আমার পরীক্ষাটি হ'ল "গ্রেডুটা প্রোগ্রামার কি (1-2 বছর পূর্বে থাকতে পারে) এটি বজায় রাখতে পারে?" .... এটি চালাক হতে পারে তবে এটি অবশ্যই পরিষ্কার এবং সংক্ষিপ্ত হতে হবে।
mattnz

1
@ ম্যাটনজ - আমি যদি সেই পরীক্ষাটি ব্যবহার করতে পারি তবে কয়েক বছর ধরে আমি যে কোডটি লিখেছি তার অর্ধেক (বা এই বিষয়ে অন্য কেউ) খারাপ বলে বিবেচিত হবে। স্নাতক প্রোগ্রামার (1-2 বছর পূর্বে) সমস্ত লোক তাদের জন্য নেয় না। আমাদের খারাপ কোড লেখার কথা বলা হচ্ছে না; শুধু যে "পরীক্ষা" যে এতটা বোঝায় না।
দাড়কাক

6

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

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

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

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

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


2

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

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

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

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

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


2

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

আমি এটি সর্বোত্তমরূপে আন্ডারলাইন করব, কারণ এমনকি তিনি সম্ভবত দুটি মাসের মধ্যে সেই লাইনে থাকা সমস্ত বিট এবং ববগুলি মনে রাখবেন না

উদাহরণস্বরূপ, তিনি সম্ভবত স্মার্ট কোডটি সহজতমটির পক্ষে ছেড়ে দেবেন, উদাহরণস্বরূপ, তিনি এটি লিখতে বাধ্য করেছেন।

কেন যে কাজ করবে।

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

(এই শেষ অনুরোধ ব্যতীত এই ধরণের অনুরোধটি প্রোগ্রামারের পণ্যকরণের জন্য কোম্পানির পক্ষ থেকে চেষ্টা হিসাবে গ্রহণ করা যেতে পারে , এটি যে কোনও সময় অন্য কোনও কোড বানরের সাথে বিনিময়যোগ্য করে তোলে )


1

আমার অভিজ্ঞতা হিসাবে, কোড বেসের বাইরে সমস্ত প্রয়োজনীয়তা পূরণ করে এমন কোড পাওয়া খুব সহজ।

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

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

আপনি যদি একটি 'চালাক' প্যাটার্নের উদাহরণ দেন তবে এটি সহায়কও হবে। আপনি কেবল মাত্রাতিরিক্ত আচরণ করছেন ...

'চতুর' প্রায়শই আমার বইতে খারাপ জিনিস হয় না, তবে আমি একমত হতে পারি যে চতুর এবং দোষী হওয়ার মধ্যে একটি পিচ্ছিল opeাল হতে পারে।


0

অন্যান্য অনেক অনুশীলনের মতো আমি মনে করি উত্তরটি এটি নির্ভর করে

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

0

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

আমি দিতে পারেন কয়েকটি পর্যবেক্ষণ:

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

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

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

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


0

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

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

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

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

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


0

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

কোডটি কীভাবে কাজ করে তা সত্যভাবে বুঝতে আমি খুব চেষ্টা করব এবং এটি বিভিন্নভাবে অনুসন্ধানের চেষ্টা করব।

নোট করুন যে এটি সময়ের প্রতিশ্রুতি। এটি ঘন্টা, বা দশক ঘন্টা বা এমনকি এক সপ্তাহের ভাল অংশ হতে পারে। এটি ন্যায়সঙ্গত কিনা তা নির্ভর করে কোডের জটিলতা প্রয়োজনীয়তার জটিলতার সাথে সামঞ্জস্যপূর্ণ কিনা on

যদি আমি বিজয়ী না হই, অর্থাৎ কোডটি যদি অনেকগুলি পরীক্ষায় বেঁচে থাকে তবে আমি নিজেকে বোঝাতে পারি যে সম্ভবত বাস্তবায়নটি আমার চেয়ে সত্যই আরও আলোকিত, এবং আমি মূল পণ্যটিতে এর অন্তর্ভুক্তিকে সমর্থন করব।

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

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

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