আমি সত্যিই বড় প্রকল্প লিখি না। আমি একটি বিশাল ডাটাবেস বজায় রাখছি না বা লক্ষ লক্ষ কোডের লেনদেন করছি।
আমার কোডটি মূলত "স্ক্রিপ্টিং" টাইপ স্টাফ - গাণিতিক ক্রিয়াকলাপ পরীক্ষা করার জন্য বা কোনও কিছুকে অনুকরণ করার জন্য - "বৈজ্ঞানিক প্রোগ্রামিং"। আমি এখন পর্যন্ত দীর্ঘতম প্রোগ্রামগুলিতে কাজ করেছি কয়েকশ লাইনের কোড এবং আমি যে প্রোগ্রামগুলিতে কাজ করি সেগুলির বেশিরভাগই প্রায় 150 এর মতো।
আমার কোডটিও বাজে। আমি অন্য দিন এটি বুঝতে পেরেছিলাম যখন আমি কিছুক্ষণ আগে লিখেছিলাম এমন একটি ফাইল সন্ধান করার চেষ্টা করছি তবে আমি সম্ভবত ওভাররোট করেছিলাম এবং আমি সংস্করণ নিয়ন্ত্রণ ব্যবহার করি না, যা সম্ভবত আমার মূর্খতায় আপনি প্রচুর সংকোচনে কাটছেন।
আমার কোডের স্টাইলটি বিশৃঙ্খলাযুক্ত এবং কিছু করার বিকল্প উপায় বা কপি করা কোডের লাইনগুলি সহ অপ্রচলিত মন্তব্যে পূর্ণ। যদিও পরিবর্তনশীল নামগুলি সর্বদা খুব সুন্দর এবং বর্ণনামূলক শুরু হয়, যেমন আমি উদাহরণগুলি অনুসারে জিনিসগুলি যুক্ত করি বা পরিবর্তন করি, কেউ নতুন পরীক্ষা করে দেখতে চায় এমন কিছু, কোড উপরের দিকে ওভারলাইড হয়ে যায় এবং ওভাররাইট করে এবং কারণ আমার মনে হয় এই জিনিসটি এখনই দ্রুত পরীক্ষা করা উচিত যা আমি একটি কাঠামো আছে আমি ক্রেপি পরিবর্তনশীল নামগুলি ব্যবহার শুরু করি এবং ফাইলটি পটে যায় pot
আমি এখন যে প্রকল্পে কাজ করছি, আমি সেই পর্যায়ে আছি যেখানে এই সমস্ত কিছু আমাকে বড় কামড় দেওয়ার জন্য ফিরে আসছে। তবে সমস্যাটি হ'ল (সংস্করণ নিয়ন্ত্রণ ব্যবহার বাদ দিয়ে এবং প্রতিটি নতুন পুনরাবৃত্তির জন্য একটি নতুন ফাইল তৈরি করা এবং কোথাও একটি পাঠ্য ফাইলে এটির সমস্ত রেকর্ডিং, যা সম্ভবত পরিস্থিতিটি নাটকীয়ভাবে সহায়তা করবে) আমি কীভাবে উন্নতি করতে এগিয়ে যেতে জানি না? আমার আসল কোডিং শৈলী
কোডের ছোট ছোট টুকরো লেখার জন্য কি ইউনিট টেস্টিং প্রয়োজনীয়? ওওপি সম্পর্কে কীভাবে? বড় আকারের প্রকল্পগুলিতে কাজ করার বিপরীতে "বৈজ্ঞানিক প্রোগ্রামিং" করার সময় কোন ধরণের পন্থা ভাল, ক্লিন কোড দ্রুত লেখার জন্য ভাল?
আমি এই প্রশ্নগুলি জিজ্ঞাসা করি কারণ প্রায়শই, প্রোগ্রামিং নিজেই অতি জটিল নয়। এটি প্রোগ্রামিং দিয়ে পরীক্ষা করা বা গবেষণা করা গণিত বা বিজ্ঞানের বিষয়ে আরও বেশি। উদাহরণস্বরূপ, যখন দুটি ভেরিয়েবল এবং একটি ফাংশন সম্ভবত এটির যত্ন নিতে পারে তখন একটি শ্রেণি প্রয়োজনীয়? (এগুলিও সাধারণভাবে বিবেচনা করুন যেখানে প্রোগ্রামের গতি দ্রুত শেষের দিকে অগ্রাধিকার দেওয়া হয় - আপনি যখন সিমুলেশনের 25,000,000+ সময় ধাপে চালাচ্ছেন, আপনি চাইবেন যে এটি হওয়া উচিত))
সম্ভবত এটি খুব বিস্তৃত এবং যদি তা হয় তবে আমি ক্ষমাপ্রার্থী, তবে প্রোগ্রামিং বইগুলির দিকে তাকালে তারা প্রায়শই বড় প্রকল্পগুলিতে সম্বোধিত হয় বলে মনে হয়। আমার কোডটির ওওপি দরকার নেই , এবং এটি ইতিমধ্যে খুব সুন্দরভাবে সংক্ষিপ্ত হয়ে গেছে তাই এটি "ওহ" এর মতো নয় তবে আমরা যদি এটি করি তবে ফাইলটি হাজার লাইনে হ্রাস পাবে! " এই ছোট, দ্রুত প্রকল্পগুলিতে কীভাবে "স্টার্ট ওভার" এবং পরিষ্কারভাবে প্রোগ্রাম করা যায় তা আমি জানতে চাই।
আমি আরও সুনির্দিষ্ট বিবরণ সরবরাহ করতে পেরে খুশি হব, তবে পরামর্শ যত বেশি সাধারণ, তত বেশি দরকারী, আমি মনে করি। আমি পাইথন 3 এ প্রোগ্রামিং করছি।
কেউ একটি সদৃশ প্রস্তাব। আমাকে পরিষ্কার করে দিন আমি স্ট্যান্ডার্ড প্রোগ্রামিং মানগুলিকে উপেক্ষা করার বিষয়ে কথা বলছি না। স্পষ্টতই, সেই মানগুলির একটি কারণ রয়েছে a তবে অন্যদিকে, কোডটি লিখতে কি বোঝা যায় না যে বলা হয় যে ওওপি যখন কিছু স্ট্যান্ডার্ড স্টাফ করা যেত, লেখার পক্ষে আরও দ্রুততর হত, এবং সংক্ষিপ্ততার কারণে পড়ার সামান্য স্তর ছিল কার্যক্রম?
ব্যতিক্রম আছে। আরও, সম্ভবত সহজ সরল মানের বাইরে বৈজ্ঞানিক প্রোগ্রামিংয়ের মান রয়েছে। আমি পাশাপাশি তাদের সম্পর্কে জিজ্ঞাসা করছি। এটি বৈজ্ঞানিক কোড লেখার সময় স্বাভাবিক কোডিং মানগুলিকে উপেক্ষা করা উচিত কিনা সে সম্পর্কে নয়, এটি পরিষ্কার বৈজ্ঞানিক কোড লেখার বিষয়ে!
হালনাগাদ
ভেবেছিলাম আমি "এক সপ্তাহের পরে বেশ কিছু" পরে সাজানোর আপডেট যোগ করব। আপনার সমস্ত পরামর্শ অত্যন্ত সহায়ক ছিল। আমি এখন গ্রাফিকাল ইন্টারফেসের জন্য গিট ক্রেকেন সহ সংস্করণ নিয়ন্ত্রণ - গিট ব্যবহার করছি। এটি ব্যবহার করা খুব সহজ, এবং আমার ফাইলগুলি মারাত্মকভাবে পরিষ্কার করে দিয়েছে - পুরানো ফাইলগুলির চারপাশে লাগার দরকার নেই বা কোডের পুরানো সংস্করণগুলি "কেবলমাত্র ক্ষেত্রে" মন্তব্য করেছে।
আমি পাইলেটও ইনস্টল করেছি এবং আমার সমস্ত কোডে চালিয়েছি। প্রাথমিকভাবে একটি ফাইল নেতিবাচক স্কোর পেয়েছে; কীভাবে সম্ভব হয়েছিল তাও আমি নিশ্চিত নই। আমার মূল ফাইলটি ~ 1.83 / 10 এর স্কোর থেকে শুরু হয়েছিল এবং এখন 9.1 / 10 ডলারে। কোডের সমস্ত এখন মানদণ্ডে মোটামুটি ভাল। আমি নিজের চোখ দিয়ে ভেরিয়েবলের নামগুলি আপডেট করে যা চালিয়ে গিয়েছিলাম ... উহম ... অস্থির, এবং চুল্লিটির বিভাগগুলি সন্ধান করছি।
বিশেষত, আমি আমার মূল ফাংশনগুলির একটিতে রিফ্যাক্টর করার বিষয়ে এই সাইটে সাম্প্রতিক একটি প্রশ্ন জিজ্ঞাসা করেছি এবং এটি এখন অনেকগুলি ক্লিনার এবং অনেক খাটো: একটি দীর্ঘ, ফুলে যাওয়া, যদি / অন্যটি পূরণ করা ফাংশনের পরিবর্তে, তবে এটি এখন অর্ধেকেরও কম যা চলছে তা নির্ধারণ করার জন্য আকার এবং আরও সহজ।
আমার পরবর্তী পদক্ষেপটি "ইউনিট টেস্টিং" প্রকারের প্রয়োগ করছে। যার দ্বারা আমি একটি ফাইল বোঝাতে চাই যে আমি আমার মূল ফাইলটিতে চালাতে পারি যা এতে সমস্ত ফাংশনকে দৃsert়তার সাথে বিবৃতি দিয়ে দেখায় এবং চেষ্টা করে / ব্যতিক্রমগুলি দেখায় যা সম্ভবত এটি করার সর্বোত্তম উপায় নয় এবং এর ফলে প্রচুর নকল কোড পাওয়া যায়, তবে আমি পড়তে থাকব এবং কীভাবে এটি আরও ভাল করা যায় তা বের করার চেষ্টা করব।
আমি ইতিমধ্যে যে ডকুমেন্টেশন লিখেছি তা উল্লেখযোগ্যভাবে আপডেট করেছি এবং গিথুব সংগ্রহশালায় একটি এক্সেল স্প্রেডশিট, ডকুমেন্টেশন এবং সম্পর্কিত কাগজের মতো পরিপূরক ফাইল যুক্ত করেছি। এটি কিন্ডা দেখতে এখন একটি বাস্তব প্রোগ্রামিং প্রকল্পের মতো।
সুতরাং ... আমি অনুমান করি এগুলিই বলার জন্য: আপনাকে ধন্যবাদ ।