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


1. আপনি যদি আপনার কোড উন্নত করতে চান তবে অন্য কারোর কোড পড়ুন
আপনি যদি আপনার প্রোগ্রামিং দক্ষতা নাটকীয়ভাবে উন্নত করতে চান, তাহলে আপনাকে... অন্যান্য প্রোগ্রামারদের লেখা কোড পড়তে হবে। বিশ্বাস করো আর না করো। তবে আপনি যদি ঝুঁকি নেন, আমি প্রতিশ্রুতি দিচ্ছি: আপনি ব্যয় করা সময়ের জন্য পুরস্কৃত হবেন। উদাহরণস্বরূপ, HashMap, ArrayList, LinkedList, ইত্যাদি কিভাবে কাজ করে সে সম্পর্কে medium.com এ পড়ুন না। পরিবর্তে, তাদের সোর্স কোড পড়ুন এবং এটি নিজেই বের করুন। এখানে পড়ার জন্য ক্লাসের একটি তালিকা রয়েছে:- সাক্ষাত্কারে প্রায়শই জিজ্ঞাসিত প্রশ্নগুলি হ্যাশম্যাপ সম্পর্কে। আপনি এক ঢিলে দুটি পাখি মারতে পারেন: আপনি কোডটি বুঝতে পারবেন এবং আপনার প্রয়োজনীয় জ্ঞান অর্জন করবেন।
- একই জিনিস ArrayList সম্পর্কে সত্য. জটিল কিছু নেই, কিন্তু সোর্স কোড সত্যিই পড়া এবং বোঝার যোগ্য।
- স্ট্রিং একটি চমৎকার উদাহরণ। কেন এটি অপরিবর্তনীয় তা বুঝুন।
- AtomicInteger হল একটি দুর্দান্ত শ্রেণী: এটি পূর্ণসংখ্যা বস্তুর উপর পারমাণবিক ক্রিয়াকলাপ সংজ্ঞায়িত করে।
- এর পরে, ভাল, আমরা একের পর এক প্রতিটি ক্লাস তালিকাভুক্ত করতে পারি :)
2. কোড নিয়মাবলী অনুসরণ করুন

- সফ্টওয়্যারের খরচের 40-80% এর রক্ষণাবেক্ষণে যায়,
- খুব কমই কোনো সফ্টওয়্যার তার লেখক সারাজীবন ধরে রক্ষণাবেক্ষণ করেন,
- কোডিং কনভেনশনগুলি প্রোগ্রামারদের আরও দ্রুত নতুন কোড বোঝার অনুমতি দিয়ে সোর্স কোডের পঠনযোগ্যতা উন্নত করে।
3. কোড পর্যালোচনা ব্যবহার করুন
একটি কোড পর্যালোচনা হল কোড উন্নতির জন্য সবচেয়ে শক্তিশালী টুলগুলির মধ্যে একটি।
4. ইউনিট পরীক্ষা লিখুন
কোড উন্নত করার জন্য আমার প্রিয় কৌশলটি অবশ্যই ইউনিট পরীক্ষা লিখছে। আপনি তাদের যত বেশি লিখবেন, তত ভাল। কম্পিউটার প্রোগ্রামিং-এ, ইউনিট টেস্টিং হল একটি সফ্টওয়্যার ডেভেলপমেন্ট প্রক্রিয়া যেখানে সোর্স কোডের ক্ষুদ্রতম পরীক্ষাযোগ্য অংশ, যাকে ইউনিট বলা হয়, এটি প্রত্যাশিতভাবে কাজ করে কিনা তা দেখার জন্য পৃথকভাবে এবং স্বাধীনভাবে পরীক্ষা করা হয়। আপনি আপনার কোড প্রকাশ করার আগে এটি আপনাকে আপনার অ্যালগরিদম এবং/অথবা যুক্তিতে ব্যর্থতাগুলি আবিষ্কার করতে সহায়তা করবে৷ যেহেতু ইউনিট পরীক্ষার জন্য আপনার কোড যথাযথভাবে গঠন করা প্রয়োজন, কোডটি অবশ্যই ছোট, আরও ফোকাসড ফাংশনে বিভক্ত করা উচিত। প্রত্যেকটি একটি ডেটাসেটে একটি একক অপারেশনের জন্য দায়ী, বৃহৎ ফাংশনগুলির পরিবর্তে যা বিভিন্ন ক্রিয়াকলাপ সম্পাদন করে ( একক দায়িত্ব নীতিহ্যালো বলে...) ভাল পরীক্ষিত কোড লেখার দ্বিতীয় সুবিধা হল যে আপনি বিদ্যমান কার্যকারিতাতে ছোট পরিবর্তন করার সময় কোড ভাঙা এড়াতে পারেন। যখন ইউনিট পরীক্ষা ব্যর্থ হয়, তারা আপনাকে বলবে যে কিছু ভুল লেখা হয়েছে। প্রথম নজরে, ইউনিট পরীক্ষা লিখতে ব্যয় করা উন্নয়ন সময় একটি অতিরিক্ত খরচের মত দেখাচ্ছে। যাইহোক, ইউনিট পরীক্ষা ভবিষ্যতে ডিবাগ করার সময় বাঁচাবে। এটি একটি ধাপে ধাপে প্রক্রিয়া হওয়া উচিত। তাই আসুন হাসিমুখে আরও এগিয়ে যাই — আমরা প্রতিটি পদ্ধতি এবং ক্লাসের জন্য পরীক্ষা লিখব :D5. কোডের গুণমান উন্নত করতে টুল ব্যবহার করুন
এমন কোনো ডেভেলপার নেই যে কখনো ভুল করেনি। সাধারণত, কম্পাইলার সিনট্যাক্স এবং গাণিতিক সমস্যাগুলি ধরে এবং স্ট্যাক ট্রেস প্রদর্শন করে। কিন্তু কিছু সমস্যা এখনও সারফেস হতে পারে যা কম্পাইলার ধরতে পারে না। উদাহরণস্বরূপ, ভুলভাবে বাস্তবায়িত প্রয়োজনীয়তা, ভুল অ্যালগরিদম, ভুল কাঠামোগত কোড, বা অন্য কিছু সম্ভাব্য সমস্যা যা সম্প্রদায় অভিজ্ঞতা থেকে জানে। এই ধরনের ত্রুটি ধরার একমাত্র উপায় হল আরও সিনিয়র ডেভেলপারকে আপনার কোড পর্যালোচনা করতে বলা, তাই না? কিন্তু এই পদ্ধতিটি একটি প্যানেসিয়া নয় এবং খুব বেশি পরিবর্তন হবে না। টিমের প্রতিটি নতুন বিকাশকারীর জন্য, তার কোডের দিকে আপনার এক জোড়া চোখ থাকা উচিত। ভাগ্যক্রমে, সেখানে অনেকগুলি সরঞ্জাম রয়েছে যা আপনাকে আপনার কোডের গুণমান নিয়ন্ত্রণ করতে সহায়তা করতে পারে। আমি বিভিন্ন প্রকল্পে আমার কাজে Checkstyle, PMD, FindBugs এবং SonarQube ব্যবহার করেছি। এবং পাশাপাশি অন্যান্য আছে. এগুলি সাধারণত কোডের গুণমান বিশ্লেষণ করতে এবং কিছু দরকারী প্রতিবেদন তৈরি করতে ব্যবহৃত হয়। প্রায়শই এই প্রতিবেদনগুলি জেনকিন্সের মতো অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভার দ্বারা প্রকাশিত হয়।6. সহজ এবং সরল কোড লিখুন

7. ডকুমেন্টেশন পড়ুন

"একজন মানুষের ধ্রুবক অন্য মানুষের পরিবর্তনশীল।"
8. আকর্ষণীয় ব্লগারদের অনুসরণ করুন
সারা বিশ্বে হাজার হাজার উৎসাহী একই প্রযুক্তি নিয়ে কাজ করে এবং লেখে। ব্লগগুলি প্রায়শই প্রোগ্রামাররা নিজেরাই লিখে থাকে এবং তাদের বেশিরভাগই ব্যক্তিগত মতামত এবং অভিজ্ঞতা ভাগ করে নেয়। ব্লগের মাধ্যমে, আপনি একই প্রযুক্তিতে বিভিন্ন দৃষ্টিভঙ্গি দেখতে পারেন। আপনি ব্লগে ভাল এবং খারাপ উভয় প্রযুক্তি দেখতে পারেন। সর্বনিম্ন, কোডিং ডোজো ব্লগ এবং কোডজিমের নিবন্ধগুলি পড়ুন :) ভাল ব্লগগুলি অনুসরণ করুন এবং পোস্টগুলিতে মন্তব্য করুন, আপনার মতামত শেয়ার করুন৷9. পেশা সম্পর্কে বই পড়ুন
একটি ভাল বই প্রতিস্থাপন করতে পারে না. একটি ভাল বই মৌলিক ধারণাগুলিকে আরও সহজ আকারে শেখায় এবং বাস্তব জগতের জিনিসগুলিতে প্রযোজ্য। তাদের লেখক নিজেই মহান প্রোগ্রামার. বই পড়ে, আপনি অন্য কারো অভিজ্ঞতা থেকে শিখতে পারেন। আমি আপনাকে Joshua Bloch এর "Effective Java" পড়ার পরামর্শ দিচ্ছি। এই বইটি প্রোগ্রামারদের জন্য 78টি অপরিহার্য নিয়ম উপস্থাপন করে: আপনি প্রতিদিন যে প্রোগ্রামিং সমস্যার মুখোমুখি হন তার জন্য সেরা কার্যকরী সমাধান। এটি কার্যকরী, ভালভাবে ডিজাইন করা প্রোগ্রাম লেখার জন্য সবচেয়ে ব্যবহারিক, প্রামাণিক নির্দেশিকা রয়েছে। আপনি যদি জাভা দিয়ে শুরু করছেন এবং কোনো প্রোগ্রামিং অভিজ্ঞতা না থাকলে, আপনি "24 ঘন্টার মধ্যে Sams Teach Yourself Java 2" পড়তে পারেন। এবং পরিষ্কার কোড লেখার জন্য, রবার্ট মার্টিনের "ক্লিন কোড" নামে একটি চমৎকার বই রয়েছে। এটা পড়ার পর,10. কোড! কোড ! কোড !
শুধু একটি বই মুখস্থ করে আপনি একজন ভালো প্রোগ্রামার হতে পারবেন না। তাত্ত্বিক ধারণা সম্পর্কে কথা বলা সহজ। কিন্তু আপনি শুধুমাত্র একটি ভাষার সীমাবদ্ধতা শিখতে পারেন বা যখন আপনি কোড লিখবেন তখন সর্বোত্তম অনুশীলন করতে পারবেন। তাই একজন ভালো প্রোগ্রামার হওয়ার জন্য আপনাকে প্রচুর কোড লিখতে হবে। আপনি যদি একজন শিক্ষানবিস হন, তাহলে ফিবোনাচি সিরিজ, প্যালিনড্রোম, প্যাসকেলের ত্রিভুজ ইত্যাদির মতো সাধারণ কাজের জন্য প্রোগ্রাম লিখে শুরু করুন। তারপরে বাইনারি সার্চ ট্রি ইত্যাদির মতো বড় কাজগুলিতে এগিয়ে যান। আপনি যদি জাভা অনুশীলনের জন্য একটি অনলাইন প্ল্যাটফর্ম খুঁজছেন। প্রোগ্রাম, কোডিং গ্রাউন্ডে একবার দেখুন । প্রোগ্রামিং কোর্সের মাধ্যমে আপনার উপায় কাজ করুন এবং আমি গ্যারান্টি যে আপনার দক্ষতা অনেক ভাল হবে. আরেকটি বিকল্প হল হার্ভার্ড CS50 কোর্স করা, যা বিনামূল্যে।আসুন সংক্ষিপ্ত করা যাক
যে ব্যক্তি কোন ভুল করে না সে-ই যে কিছুই করে না। এই কারণেই আমরা আমাদের ধৈর্যকে মার্শাল করি এবং, একজন পরিশ্রমী ফড়িং-এর মতো, আমরা আমাদের কোডিং দক্ষতা উন্নত করি। এটি করতে, ভুলবেন না:- অন্যদের কোড পড়ুন
- কোড রিভিউ প্রদান করুন এবং জিজ্ঞাসা করুন
- ইউনিট পরীক্ষা লিখুন
- আপনার কোড উন্নত করতে টুল ব্যবহার করুন
- সহজ এবং বোধগম্য কোড লিখুন
- যারা পারে তাদের লেখা ডকুমেন্টেশন পড়ুন
- আকর্ষণীয় প্রোগ্রামার অনুসরণ করুন
- পেশা সম্পর্কে বই পড়ুন
- কোড ! কোড ! কোড !
GO TO FULL VERSION