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