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