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