পটভূমি / দৃশ্যপট
আমি সিটিতে সরাসরি সিএলআই অ্যাপ্লিকেশন লেখা শুরু করেছি (আমার প্রথম উপযুক্ত সি বা সি ++ প্রোগ্রাম যা "হ্যালো ওয়ার্ল্ড" বা এর কোনও প্রকরণ নয়)। মাঝপথে প্রায় আমি ব্যবহারকারীর ইনপুট (চর অ্যারে) এর "স্ট্রিং" নিয়ে কাজ করছিলাম এবং আমি সি ++ স্ট্রিং স্ট্রিমার অবজেক্টটি আবিষ্কার করেছি। আমি দেখেছি যে এগুলি ব্যবহার করে আমি কোড সংরক্ষণ করতে পারি, তাই আমি এগুলি অ্যাপ্লিকেশনটির মাধ্যমে ব্যবহার করেছি। এর অর্থ এই যে আমি ফাইল এক্সটেনশনটি .cpp এ পরিবর্তন করেছি এবং এখন এর g++
পরিবর্তে অ্যাপটি সংকলন করেছি gcc
। সুতরাং এর ভিত্তিতে, আমি বলব অ্যাপ্লিকেশনটি এখন প্রযুক্তিগতভাবে একটি সি ++ অ্যাপ্লিকেশন (যদিও কোডের 90% + আমি সি বলেছি তাতে লেখা আছে, কারণ আমার সীমিত অভিজ্ঞতার কারণে দুটি ভাষার মধ্যে প্রচুর ক্রস-ওভার রয়েছে) দুই). এটি 900 লাইন দীর্ঘ লম্বা একটি একক .cpp ফাইল।
গুরুত্বপূর্ণ বিষয়গুলি
আমি চাই প্রোগ্রামটি বিনামূল্যে (অর্থ হিসাবে) এবং অবাধে বিতরণযোগ্য এবং সবার কাছে ব্যবহারযোগ্য able আমার উদ্বেগ হ'ল কেউ কোডটি দেখবে এবং এর প্রভাবটির জন্য কিছু ভাববে:
ওহ কোডিংটি দেখুন, এটি দুর্দান্ত, এই প্রোগ্রামটি আমাকে সাহায্য করতে পারে না
যখন এটি সম্ভব! আর একটি বিষয় হ'ল কোডটি দক্ষ হচ্ছে (এটি ইথারনেট সংযোগের পরীক্ষা করার জন্য একটি প্রোগ্রাম)। কোডটির এমন কোনও অংশ নেই যা এতোটা অদক্ষ যে তারা অ্যাপ্লিকেশন বা এর আউটপুটটির কার্য সম্পাদনকে মারাত্মকভাবে বাধা দিতে পারে। তবে, আমি মনে করি যে এটি নির্দিষ্ট ফাংশন, পদ্ধতি, অবজেক্ট কল ইত্যাদির সাহায্যের জন্য জিজ্ঞাসা করার সময় স্ট্যাক ওভারফ্লোর জন্য একটি প্রশ্ন is
আমার প্রশ্ন
(আমার মতে) মিশ্রিত সি এবং সি ++ থাকা যেখানে সম্ভবত আমার উচিত নয়। আমি কি সবগুলি সি ++ এ পুনরায় লেখার দিকে তাকিয়ে দেখি (এর দ্বারা, আমি আরও সি ++ অবজেক্ট এবং পদ্ধতিগুলি বাস্তবায়িত করব যেখানে সম্ভবত আমি সি স্টাইলে এমন কিছু কোড করেছি যা নতুন সি ++ কৌশল ব্যবহার করে ঘনীভূত করা যেতে পারে), বা স্ট্রিং স্ট্রিমার অবজেক্টগুলির ব্যবহার এবং মুছে ফেলতে এবং এটিকে সব কি "কোড" সি কোড এনে দেবেন? এখানে কি সঠিক পন্থা আছে? আমি হারিয়ে গিয়েছি এবং এই অ্যাপ্লিকেশনটিকে কীভাবে জনগণের দৃষ্টিতে "ভাল" রাখতে হবে সে সম্পর্কে কিছু দিকনির্দেশনা প্রয়োজন, যাতে তারা এটি ব্যবহার করবে এবং এর থেকে উপকৃত হবে।
কোড - আপডেট
এখানে কোডের একটি লিঙ্ক দেওয়া আছে। এটি প্রায় 40% মন্তব্য, যতক্ষণ না আমি আরও সাবলীল বোধ করি আমি প্রায় প্রতিটি লাইনেই মন্তব্য করি। যদিও আমি যে অনুলিপিটির সাথে লিঙ্ক করেছি তাতে আমি সমস্ত মন্তব্য মুছে ফেলেছি। আমি আশা করি এটি পড়া খুব কঠিন করে তোলে না। আমি আশা করছি যদিও এটির পুরোপুরি কোনও বোঝার দরকার নেই। আমি যদি মারাত্মক ডিজাইনের ত্রুটিগুলি তৈরি করে থাকি তবে আমি আশা করি তারা সহজেই চিহ্নিতযোগ্য হবে। আমার আরও উল্লেখ করা উচিত, আমি কয়েকটা উবুন্টু ডেস্কটপ এবং ল্যাপটপ লিখছি। আমি অন্য অপারেটিং সিস্টেমে কোডটি পোর্ট করতে চাইছি না।
LICENSE