আপনি কাউকে কীভাবে বলবেন যে তারা খারাপ কোড লিখছেন? [বন্ধ]


217

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


সর্বাধিক, আপনি কি? কিছু মনে করবেন না, আমি আপনাকে এটি টিএফ 2 ইঞ্জিনিয়ার আইকনটি দিয়ে বলতে পারি যে আপনি সর্বদা ব্যবহার করেন। আপনি কি আমার কোডটি খারাপ বলে বলছেন? ... ... ... ... আমি যে জিনিসগুলি বলি যখন আমি কাজ ছাড়ি এবং কিছুই করার থাকে না, তখন 5 মিনিট হয়।
পাওয়ারলর্ড

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

14
আমি মনে করি আপনি যখন তাদের পর্দায় তাকান ততবারই গিগগল করা প্রশ্ন থেকে যায় না ...
স্টিভেন এ লো।

57
তাদের প্রতিশ্রুতি প্রত্যাহারটি কি "আমি মনে করি এটি সবচেয়ে ভাল যদি আমরা সকলেই কেবল কখনও ঘটেনি" বলে একটি বিকল্প দিয়েছি?
ড্রইমন 21

1
আপনি যদি স্ট্যাক ওভারফ্লো পড়েন তবে আপনি একজন ভাল প্রোগ্রামার :-)
ম্যাথু ফারওয়েল

উত্তর:


188

তারা বুঝতে পারে যে তারা কী করছে তা ভুল questions উদাহরণস্বরূপ, এই ধরণের প্রশ্ন জিজ্ঞাসা করুন:

আপনি কেন এটি একটি বিশ্বব্যাপী পরিবর্তনশীল করার সিদ্ধান্ত নিয়েছিলেন?

কেন আপনি এই নামটি দিয়েছিলেন?

ইহা আকর্ষণীয়. আমি সাধারণত আমার এইভাবে করি কারণ [আপনারা আরও ভাল হওয়ার কারণ সন্নিবেশ করান]

এই উপায় কি কাজ করে? আমি সাধারণত [কীভাবে আপনি তাদের নির্বোধ দেখায় তা সন্নিবেশ করান]

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

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

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


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

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

24
আমি "আপনি কেন এটি নাম দিয়েছিলেন?" এর মতো প্রশ্নগুলি মনে করি? কাছাকাছি, তবে একদম সঠিক নয়। এটি তাত্ক্ষণিকভাবে আমাকে আমার সিদ্ধান্তগুলি সম্পর্কে ডিফেন্সিভ চিন্তাভাবনা করে। "এটি আকর্ষণীয় I আমি সাধারণত আমার এইভাবে করি কারণ [আপনারা আরও ভাল কারণের কারণ সন্নিবেশ করান]" অনেক ভাল কারণ এটি আমাকে ইতিমধ্যে যে সিদ্ধান্ত নিয়েছে তার চেয়ে অন্য উপায় সম্পর্কে ভাবতে বাধ্য করে। আধুনিক সুরের সাথে, আমি আলো দেখার সম্ভাবনা অনেক বেশি।
দ্য টিকটিকিটি বিলটি

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

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

85

কোড পর্যালোচনা বা জোড় প্রোগ্রামিং করা শুরু করুন।

দল যদি তাদের পক্ষে না যায় তবে সাপ্তাহিক নকশা পর্যালোচনা চেষ্টা করুন try প্রতি সপ্তাহে, এক ঘন্টার জন্য দেখা করুন এবং কোডের একটি পিস সম্পর্কে কথা বলুন। লোকেরা যদি আত্মরক্ষামূলক বলে মনে হয় তবে পুরানো কোডটি চয়ন করুন যা কমপক্ষে শুরুতে কমপক্ষে আর কোনও সংবেদনশীলভাবে সংযুক্ত থাকে না।

যেমন @ জেস্পার: বলেছেন, কোডারে ফোকাস করুন, কোডারটি নয়।

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

গ্লোবাল : আপনি কি ভাবেন যে আমরা কখনও এর মধ্যে একটির বেশি চাই? আপনি কি মনে করেন আমরা এটিতে অ্যাক্সেস নিয়ন্ত্রণ করতে চাই?

পরিবর্তনীয় অবস্থা : আপনি কি ভাবেন যে আমরা এটি অন্য থ্রেড থেকে চালিত করতে চাই?

আমি আমার সীমাবদ্ধতার দিকে মনোনিবেশ করাও সহায়ক বলে মনে করি , যা লোককে শিথিল করতে সহায়তা করে। উদাহরণ স্বরূপ:

দীর্ঘ ক্রিয়াকলাপ : আমার মস্তিষ্কের এত বড় একসাথে এতটুকু ধারণ করার ক্ষমতা নেই। আমি যে ছোট ছোট টুকরোগুলি পরিচালনা করতে পারি তা কীভাবে তৈরি করতে পারি?

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

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


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

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

@ গ্রেগ: আউচ আপনি সেখানে খুব কঠিন ভিড়!
জে বাজুজি

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

lol @ "কোডের সাথে সংবেদনশীলভাবে সংযুক্ত।" আপনার দলে যদি এই সমস্যাগুলি বিদ্যমান থাকে তবে আমার মতে এটি নিয়ে কাজ করার জন্য আরও একটি দল খুঁজে বের করার সময় এসেছে।
dtc

45

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


1
প্রকৃতপক্ষে. আমাদের কোড পর্যালোচনায় আমাদের কাছে থাকা কিছু হ'ল কোডটি যদি মানটির সাথে সামঞ্জস্য না করে তবে পর্যালোচক পড়া বন্ধ করে দেয় এবং কোড না মানা পর্যন্ত কোডটিতে ফিরে আসে না।

1
এটি কার্যকর করার একটি আরও ভাল এবং সহজ উপায়।
স্কট ডরম্যান

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

2
@ স্কট ডুরম্যান: "সমস্ত কোডটি দেখতে এমন হওয়া উচিত যেমন এটি একটি বসার মধ্যে একজন ব্যক্তি লিখেছিলেন" ... এলএল !!! ;-)
গ্যালোরিয়ান

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

23

আপনার উপায় কেন আরও ভাল তা আপনাকে ব্যাখ্যা করতে হবে ।

কোনও ফাংশন কেটে ও পেস্ট করার চেয়ে কেন ভাল তা ব্যাখ্যা করুন।

কেন অ্যারেটি $ foo1, $ foo2, oo foo3 এর চেয়ে ভাল Exp

গ্লোবাল ভেরিয়েবল কেন বিপজ্জনক, এবং সেই স্থানীয় ভেরিয়েবলগুলি জীবনকে সহজ করে তুলবে তা ব্যাখ্যা কর।

কেবল একটি কোডিং স্ট্যান্ডার্ডকে বেত্রাঘাত করা এবং "এটি করুন" বলা অর্থহীন কারণ এটি প্রোগ্রামারকে এটি কেন ভাল জিনিস তা ব্যাখ্যা করে না।


1
আমি মনে করি এটি কেবলমাত্র সমস্ত সম্ভাব্য কমান্ডের ক্ষেত্রেই প্রযোজ্য (শুধুমাত্র প্রোগ্রামিং সম্পর্কিত নয়)।
দিমিত্রি সি।

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

14

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

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

আর একটি বিকল্প হ'ল অফিসে প্রযুক্তিগত বইগুলি আনতে হবে (কোড কমপ্লিট, এফেক্টিভ সি ++, প্র্যাকমেটিক প্রোগ্রামার ...) এবং অন্যকে ndণ দেওয়ার প্রস্তাব দেওয়া হয়েছে ("আরে, আমি এটি শেষ করে দিয়েছি, কেউ কি এটি ধার নিতে চান?" )


12

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


10

অ-মুখোমুখি উপায়ে আরও ভাল বিকল্পের পরামর্শ দিন।

"আরে, আমি মনে করি এই পদ্ধতিটিও কার্যকর হবে guys আপনি কী ভাবেন?" [আপনার পর্দায় স্পষ্টতই আরও ভাল কোডের অঙ্গভঙ্গি]


10

কোড পর্যালোচনা করুন এবং আপনার কোড পর্যালোচনা করে শুরু করুন ।

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


8

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


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

7

উদাহরণস্বরূপ। তাদের সঠিক উপায়ে দেখান।

ধীরেসুস্থে কর. ব্যাট থেকে ঠিক প্রতিটি ছোট ভুলের জন্য তাদের ছোঁড়াবেন না, কেবল যে বিষয়গুলি গুরুত্বপূর্ণ তা দিয়ে শুরু করুন।


7

কোড স্ট্যান্ডার্ড ধারণাটি একটি ভাল one

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


1
আমি এই বিষয়টিকে পছন্দ করি, যেমন এই প্রকল্পটির জন্য, 'যদি এটি কাজ করে তবে এটি কাজ করে' যথেষ্ট হবে, তবে আমি অনুভূতি পেয়েছি যে ইস্যুটি মোকাবেলার জন্য একটি উপযুক্ত উপায় সন্ধান করা প্রাথমিক প্রবৃত্তিকে বোঝাতে এবং বলার চেয়ে অনেক বেশি সহায়তা করবে ' এটা ভুল'.
ম্যাক্সিমিলিয়ান

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

4
এটা কি কোড? Helloooo রক্ষণাবেক্ষণ দুঃস্বপ্ন।
মেটালমাইকস্টার 18

6

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


5

নামকরণের খারাপ অভ্যাস: সর্বদা অক্ষম।

এবং হ্যাঁ, আপনার রাস্তাটি আরও ভাল no সবসময়ই ধরে নেবেন না ... এটি কঠিন হতে পারে তবে উদ্দেশ্যমূলকতা বজায় রাখতে হবে।

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

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


5

কিছু উইকি সফটওয়্যার ব্যবহার করে আপনার নেটওয়ার্কে উইকি শুরু করুন।

আপনার সাইটে "সেরা অনুশীলন" বা "কোডিং মান" বা অন্য কিছু নামে একটি বিভাগ শুরু করুন।

সবাইকে এটি দেখান। মতামত জন্য অনুমতি দিন।

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

আমি আমার সংস্থায় এটি করেছি এবং উইকি ব্যবহারের ঝুলিতে লোকেরা সত্যিই বেশ কয়েক মাস সময় নিয়েছিল তবে এখন এটি এই অনিবার্য সংস্থান।


4

আপনার কাছে কোডিংয়ের একটি স্বাচ্ছন্দ্য স্ট্যান্ডার্ড থাকলে, এটি নির্দেশ করতে সক্ষম হওয়া বা আপনি কোডটি অনুসরণ করতে পারবেন না তা নির্দেশ করে কারণ এটি সঠিক ফর্ম্যাটটি উপযুক্ত নাও হতে পারে।

যদি আপনার কাছে কোডিং বিন্যাস না থাকে তবে এখন একটি জায়গায় জায়গা দেওয়ার জন্য ভাল সময় হবে। এই প্রশ্নের উত্তরের মতো কিছু সহায়ক হতে পারে: /programming/4121/team-coding-styles


4

আমি সবসময় এই লাইনটি দিয়ে যাই 'এটিই আমি করতাম'। আমি তাদের চেষ্টা করি না এবং বক্তৃতা দিই না এবং তাদের কোডটি আবর্জনা বলে বলি তবে কেবল একটি বিকল্প দৃষ্টিভঙ্গি দেই যা আশা করি তাদের এমন কিছু দেখাতে পারে যা স্পষ্টতই কিছুটা পরিষ্কার।


3

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


3

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

"প্রত্যেকেই এমন কোনও কোড লিখতে পারে যা একটি মেশিন দ্বারা বোঝা যায়, তবে সকলেই এমন কোনও কোড লিখতে পারে না যা কোনও মানুষ বোঝে"

এটি মাথায় রেখে, কোডে অনেক কিছু করা দরকার;)


আমি এটা সত্য হতে পারে। সুন্দর পড়া: আপনার যা করা উচিত নয়, জোয়েল স্পলস্কি joelonsoftware.com/articles/fog000000006969 html লিখেছেন তিনি তাঁর কথায় এটি লিখেছেন : "কোড লেখার চেয়ে এটি পড়া আরও শক্ত"।
mjn

3

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

ইন-ইন কী। এবং আপনার পদ্ধতির আপনি যে পরিবেশে রয়েছেন তা বিবেচনায় নেওয়া দরকার।

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

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

ধৈর্য। বিবর্তন, বিপ্লব নয়।

শুভকামনা।


3

আমি একটি টোগা দান করি না এবং স্যারট্যাটিক পদ্ধতিতে একটি ক্যান খুলি।

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


সক্রেটিক পদ্ধতিতে সমস্যাটি হ'ল কারও পক্ষে এর জন্য ধৈর্য নেই, বা অনুসরণ করতে আগ্রহী নয়।
প্যাট্রিক জাজালাপস্কি

2

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

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


2

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

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


2

খারাপ কোড লেখার লোকেরা কেবল অজ্ঞতার লক্ষণ (যা বোবা হওয়ার থেকে আলাদা)। এই লোকদের সাথে আচরণ করার জন্য এখানে কিছু টিপস।

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

1
আমি বিশ্বাস করি ইচ্ছাকৃত অজ্ঞতা বোকা হিসাবে বর্ণনা করা যেতে পারে? এটি শিখতে রাজি না হওয়ার মতোই।
অ্যাডাম নায়লার

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

2

কোড লেখার পরিবর্তে তাদের কোড বজায় রাখুন।

যতক্ষণ না তাদের স্প্যাগেটির স্টিমিং গাদা বজায় রাখতে হয়, ততক্ষণ তারা বুঝতে পারবে না যে তারা কোডিংয়ে কতটা খারাপ।


আরও ভাল: তাদের অন্যান্য বিকাশকারীদের কোড বজায় রাখতে বলুন। এই শক্তি এছাড়াও সাহায্যের তাদের মধ্যে যোগাযোগের উন্নতি করতে ...
mjn

এটি অনেক কম
বৈরিতাবাদী

2

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

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


2

আমি যে ছেলেদের সাথে কাজ করি তাদের সাথে আমারও একই রকম সানারিও আছে .. আমি যতটা কোডিং করব তা তাদের কাছে নেই তবে তারা কোডিংয়ে এখনও কার্যকর।

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

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

  1. আলোচনা করা.
  2. তাদের দেখান কেন
  3. এমনকি আপনি সর্বদা সঠিক বলে মনে করবেন না .. কখনও কখনও এমনকি তারা আপনাকে নতুন কিছু শেখায়।

আমি যদি আপনি থাকতাম তবে আমি কী করতাম তা: D


1

সম্ভবত প্রভাব পরে কিছুটা দেরী, কিন্তু সেখানে সম্মত কোডিং মান একটি ভাল জিনিস।


1

আমি স্পষ্টভাবে বিশ্বাস করি যে কারও কোড পরিবর্তন করা ভাল, যখন এটি পরিবর্তন করা, ডিবাগ করা, নেভিগেট করা, বুঝতে, কনফিগার করা, পরীক্ষা করা এবং প্রকাশ করা (হাব) সহজ হয়।

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

তবেই তাদের মন কেড়ে নেবে এবং যে কেউ এটি দেখতে সক্ষম হবে:

  • গ্লোবাল ভেরিয়েবলের মান পরিবর্তনগুলি প্রায় সর্বদা অবিচল থাকে
  • বিশাল ফাংশনগুলি পড়া এবং বোঝা শক্ত
  • প্যাটার্নগুলি আপনার কোডটিকে উন্নত করা সহজ করে দেয় (যতক্ষণ না আপনি তাদের নিয়ম মানেন)
  • (ইত্যাদি ...)

সম্ভবত জোড় প্রোগ্রামিংয়ের একটি সেশনের কৌশলটি করা উচিত। কোডিং স্ট্যান্ডার্ড প্রয়োগ করার ক্ষেত্রে - এটি সহায়তা করে তবে তারা ভাল কোড কী তা সংজ্ঞায়িত করার থেকে খুব বেশি দূরে।


1

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


1

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

যদি # 2 ঘটে, বা # 1 এর ফলে আপনার দৃষ্টিকোণ থেকে পর্যাপ্ত উন্নতি হবে না এবং এটি প্রকল্পটিকে ক্ষতিগ্রস্থ করছে, এবং / অথবা আপনাকে যথেষ্ট পরিমাণে চাপিয়ে দিচ্ছে, তবে সময়ের মধ্যে মান নির্ধারণ / প্রয়োগের জন্য একটি প্রচার শুরু করার সময় আসতে পারে দলটি. এর জন্য ম্যানেজমেন্ট বাই-ইন দরকার, তবে ঘাসের শিকড় থেকে উদ্দীপনা পেলে সবচেয়ে কার্যকর।

সে জন্য শুভকামনা। আমি আপনার ব্যথা ভাই মনে করেন।

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