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