একজন কম অভিজ্ঞ প্রোগ্রামার থেকে কোড ফিক্সিং সম্পর্কে আমার কীভাবে যাওয়া উচিত?


19

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

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

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

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


4
ভবিষ্যতে, কোডিং নির্দেশিকাগুলিতে সম্মত হওয়ার কোনও সম্ভাবনা রয়েছে, যা আপনার বর্ণনার মতো ভুলগুলি প্রতিরোধ করবে?
বেনি

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

কেন কেবল ভুল, পিরিয়ডের বিষয়ে দলিল ছাড়াই একটি O (n ^ n)। আপনার যদি সত্যিই এটি করতে হয় তবে মন্তব্যগুলি কেন আরও ভাল তা ব্যাখ্যা করেছিল।
লরেন পেচটেল

"আরে, ও (এন * এন) এটি খারাপ নয়, অনেক অ্যাপ্লিকেশন এর প্রয়োজন হয় ..." তবে আমি বুঝতে পেরেছিলাম যে এটি কোনও গুণ চিহ্ন নয়, একটি হত্যাকারী ^!
সর্বাধিক

O (n ^ n) O (n) এর চেয়ে দ্রুততার চেয়ে বেশি হতে পারে যদি ও (এন) এর একটি বিশাল ধ্রুবক থাকে এবং n ছোট হয়। codinghorror.com/blog/2007/09/… তারপরে আবারও n ^ n চরম: ডি
কোডার

উত্তর:


33

কিছু ধরণের কোড পর্যালোচনা নীতি ইনস্টল করার মত শোনা একাধিক স্তরে উপকারী হতে পারে। কিছু তাত্ক্ষণিক সুবিধা:

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

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


3
+1 কোড পর্যালোচনা এটি সম্পর্কে এক দুর্দান্ত উপায়। আমি "আমি আপনার কোডটি উন্নত করার উপায়গুলি এখানে রেখেছি" তার পরিবর্তে "আমি কিছু মিস করি না" তা নিশ্চিত করার জন্য আমি যে পরিবর্তনগুলি করেছি তা পর্যালোচনা করতে আপনি কি আপত্তি করতে চান "এই পাতায় আরও সংক্ষেপে পরামর্শ দেওয়ার পরামর্শ দেব।
স্টিভ জ্যাকসন

1
+1 আমি বলব যে কোনও "সোনালি নিয়ম কোডিং গাইডলাইনস" এর চেয়ে কোড পর্যালোচনা অনেক ভাল ফিট .. .. অনেক কিছুই কখনই ঠিক হয় না
সর্বাধিক

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

1
Mumak.net/stuff/your-code-sks.html এ কিছু বেসিক পাওয়া যায় আসলে একটি ভাল এবং বিনোদনমূলক কাগজ রয়েছে । এটি বেশিরভাগ ক্ষেত্রে গঠনমূলক পদ্ধতিতে পর্যালোচনা পরিচালনার জন্য আচরণগত কৌশল সম্পর্কে, যা সফল পর্যালোচনার জন্য অত্যন্ত গুরুত্বপূর্ণ।
নিতিন

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

5

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

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


2

আমরা কী অনুমান করতে পারি যে প্রকল্পটি "কাজ করে" এবং কিছুটা যুক্তিসঙ্গত সময়ে সম্পন্ন হয়েছিল (কিছু অবিস্মরণীয় তবে স্থিরযোগ্য নকশার সমস্যা থাকা সত্ত্বেও)? যদি তা হয় তবে কয়েক বছরের মধ্যে আমি যে অনেক প্রকল্প দেখেছি তার চেয়ে এটি অনেক ভাল আকারে shape

আমি মনে করি যে আরও যোগাযোগ আপনার দলকে সহায়তা করবে - এবং এটি নিয়মিত কোড পর্যালোচনা দিয়ে করা যেতে পারে।

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

সত্যই ভাল জিনিসগুলি দেখতে কেমন তা দেখে লোকেরা ভাল শিখতে পারে। নিয়মিতভাবে প্রতিটি ছোট্ট ত্রুটিগুলি নির্দেশ করার চেয়ে এটি ভাল। O (n ^ n) তবে আলতোভাবে এবং গঠনমূলকভাবে নির্দেশ করা উচিত।


0

আপনার জ্ঞান ভাগ করুন।

একজন সিনিয়র থেকে জুনিয়র পর্যন্ত কিছু শিক্ষার বিনিময়ে আমি তাকে তার নতুন প্রকল্পে সহায়তা দেওয়ার প্রস্তাব দেব।

উভয় প্রকল্পে জুটি না প্রোগ্রামিং?

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