স্বয়ংক্রিয় কোড জেনারেটর [বন্ধ]


13

আমার একজন সহকর্মী স্বয়ংক্রিয় কোড জেনারেটর ব্যবহার করতে পছন্দ করেন, যা প্রচুর পরিমাণে কোড তৈরি করে যা খারাপভাবে নথিভুক্ত এবং বজায় রাখা খুব কঠিন।

কোনও কোড জেনারেটর ব্যবহারের জন্য কী কী রক্ষণাবেক্ষণের ঝামেলা মূল্যবান, সৃষ্টিকে হ্রাস করা সময়ের জন্য?

উত্তর:


10

আসুন এটি নতুন করে বলি:

একটি ভাল স্বয়ংক্রিয় কোড জেনারেটরের জন্য মূল্য কি উপযুক্ত?

হ্যাঁ.

দুর্বল স্বয়ংক্রিয় কোড জেনারেটরের ব্যয়টি যা সবার জন্য আরও কাজ তৈরি করে তবে এটি লেখক কি মূল্যবান?

একেবারে না. দুর্বল কোডের জন্য কোনও অজুহাত নেই। যদি কেউ চতুর হতে ও স্বয়ংক্রিয় কোড জেনারেশন ব্যবহার করতে চায় তবে উত্পন্ন কোডটি ভাল কোড কিনা তা নিশ্চিত করার জন্য তাদের সময় নেওয়া উচিত। নাহলে এটার লাভ কী? এটি কেবল বকটিকে রডের নীচে ঠেলে দিচ্ছে এবং কোড প্রযোজনার বিষয়টি এলে বুকটি বিকাশকারীকে থামিয়ে দেওয়া উচিত যারা এটি লিখেছিল।


16
আমি আপনার দ্বিতীয় বিষয়টির সাথে একমত নই। উত্পন্ন কোডটি কেবলমাত্র যথেষ্ট ভাল হওয়া দরকার যাতে এটি কাজ করে এবং কার্য সম্পাদন / সুরক্ষা বা অন্য কোনও সমস্যা তৈরি করে না। যেহেতু আপনার হাতে কখনই উত্পন্ন কোডটি বজায় রাখা উচিত নয়, তাই এটি আপনার সাধারণ কোডিং মানগুলির সাথে না আপত্তিজনক নয়।
হিলা 4'10

4
আপনার পক্ষে দ্বিমত পোষণ করার পক্ষে এটি ঠিক আছে। যাইহোক, আপনি যদি একটি কোড জেনারেটর তৈরি করতে সময় নিতে যাচ্ছেন তবে কেন কোডটি উত্পন্ন করার জন্য সময় নিচ্ছেন না? একবার উত্পন্ন হওয়ার পরে, আমি জানি না কে এটি তৈরি করেছে, এটি কীভাবে তৈরি হয়েছিল, না অন্য উদ্দেশ্যগুলির পাঠ্য / রক্ষণাবেক্ষণযোগ্য না হলে এটির উদ্দেশ্য। কখনও কখনও জেনারেটর কেবল পূর্ণ-সমাপ্ত পণ্যটির পরিবর্তে একটি সূচনা পয়েন্ট তৈরি করতে থাকে।
Wheaties

1
এছাড়াও, যদি কোডটির জেনারেশনটি আপনার বিল্ডের অংশ হয় (যেমন এটি প্রতিটি বিল্ডকে পুনরায় উত্পন্ন করে) তবে এটি "সুন্দর" কোড তৈরি করতে ততটা তাত্পর্যপূর্ণ নয়। তবে আপনি যদি কোডটি একবার তৈরি করতে চলেছেন এবং এটি এটি হয় তবে এটি আলাদা গল্প।
ডিন হার্ডিং

5
হিলা, আপনার হাতে কখনও উত্পন্ন কোড বজায় রাখা উচিত নয়, কিন্তু যখন দিনটি আসে যখন আপনার নতুন / পরিবর্তনের প্রয়োজনীয়তার কারণে সেই কোডটি পরিবর্তন করতে হবে, আপনার কোডটি পরিষ্কার এবং বোধগম্য হওয়া দরকার যাতে আপনি সহজেই জেনারেটরে প্রয়োজনীয় পরিবর্তন করতে পারেন , এবং তারপরে পুনরায় উত্পন্ন করুন।
কারসন 63000

6
উত্পন্ন কোডটি রক্ষণাবেক্ষণের জন্য যথেষ্ট পর্যাপ্ত হতে হবে না, তবে এটি ডিবাগিং এবং বৈধতার জন্য যথেষ্ট বোধগম্য হওয়া দরকার।
হুপার্নিকেটেস

23

জেনারেটর দ্বারা উত্পাদিত কোড হাত দ্বারা কখনও বজায় রাখা উচিত নয়। যদি এটি পরিবর্তন করার প্রয়োজন হয় তবে জেনারেটর এবং / অথবা এর সেটিংস অবশ্যই টিক করে আবার চালাতে হবে। এটি বিবেচনা করে, যতক্ষণ না প্রজন্মের প্রক্রিয়া নিজেই স্ফটিক স্বচ্ছ, ততক্ষণ ফলাফল ফলাফলটি বোধগম্য এবং অননুমোদিত কিনা তা বিবেচ্য নয়। (কোডটি উত্পন্ন হয়েছে এবং কোথায় জেনারেটর রয়েছে এবং এটি কীভাবে কাজ করে তা সত্য করে নথিভুক্ত করতে ভুলবেন না))

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

সঠিকভাবে ব্যবহার করা হলে, কোড জেনারেটর স্পষ্টভাবে না শুধুমাত্র সৃষ্টি, তবে রক্ষণাবেক্ষণের ব্যয়ও বাঁচাতে পারে।


4
সমস্যাটি তখন পরিণত হয়, কেবলমাত্র একজন ব্যক্তির কাছে সরঞ্জাম রয়েছে, অন্য কেউ করেন না, সুতরাং ম্যানুয়ালি কোডটি বজায় রাখতে হবে।
4:44

এই বক উত্তীর্ণ হয়। সফ্টওয়্যার বিকাশকারী হিসাবে, আমাদের ব্যবসায় কোড - আমরা তা কীভাবে উত্পাদন করি তা নয়।
স্টিভেন ইভার্স

12
@ ডেভিড, যদি কেবলমাত্র একজন ব্যক্তির কাছে সরঞ্জাম থাকে তবে আপনি এটি একাধিক ব্যক্তির সাথে জড়িত একটি প্রকল্পের জন্য ব্যবহার করবেন না।
ম্যাট ওলেনিক

2
@ ম্যাট, ঠিক জেনারেটরগুলি প্রকল্পের অংশ (স্ক্রিপ্টগুলি গঠনের সাথে তুলনীয়) এবং সংস্করণ নিয়ন্ত্রণ বা অনুরূপ কেন্দ্রীয় সংগ্রহস্থলে সংরক্ষণ করা উচিত।
জুনাস পুলাক্কা

2
@ এসএনআরফাস: আমি মনে করি যে আমাদের ব্যবসায় হ'ল কার্যকর পণ্য উত্পাদন করে যা লোকেরা ব্যবহার করতে এবং কিনতে আগ্রহী। আমাদের বেতন আসে যেখানে। কোড কেবল একটি মাধ্যম is
জুনাস পুলাক্কা

6

একটি কোড জেনারেটর একটি ধরণের সংকলক। সংকলক আউটপুটটি কত সুন্দর তা নিয়ে আপনি চিন্তা করবেন না, আপনি কেবল উত্স কোড নিয়ে কাজ করেন। এটি ব্যবহার করে এবং তারপরে আউটপুটটিকে হ্যান্ড-মডিফাই করা প্রায়শই শক্ত করে তোলে যা এটি মানুষের দ্বারা বোঝা যায় এমন কোনও আকারে স্ক্র্যাচ থেকে লেখার চেয়ে বেশি কঠিন এবং এর অর্থ আপনি প্রচুর কাজ ছাড়াই কোড জেনারেটরটি আর ব্যবহার করতে পারবেন না, যেহেতু আপনাকে প্রয়োগ করতে হবে নির্ভুলভাবে একই বোধগম্য কোডে একই পরিবর্তন।

সুতরাং, তারা বিল্ড প্রক্রিয়াটির অংশ হয়ে থাকলে এবং সে হিসাবে নথিভুক্ত থাকলে তারা ভাল হতে পারে। জেনারেটরের ইনপুটটি হ'ল সোর্স কোড এবং এটি যা কিছু উত্পন্ন করে তা অন্তর্বর্তী ফলাফল, এর সাথে গোলমাল করা হবে না।

যাইহোক, যদি কেউ কারও যদি অজ্ঞাতনামা কোড তৈরি করতে ব্যবহার করে যা উত্স হিসাবে ব্যবহার করার কথা, তবে সেই ব্যক্তির খারাপ কোড উত্পাদন করছে। লোকটি যান্ত্রিকভাবে বা হাত দ্বারা খারাপ কোড তৈরি করছে কিনা তা বিবেচ্য নয়, এটি এখনও খারাপ কোড এবং আপনার এখনও এটিতে একটি মানের সমস্যা আছে।

অতএব, আপনি এটিকে অন্য কোনও বিকাশকারী কোণগুলি কাটাতে এবং খারাপ কোড লেখার মতো আচরণ করতে হবে। আমি জানি না আপনি কীভাবে এটি আপনার দোকানে পরিচালনা করেন।


3

অন্যান্য উত্তরের মন্তব্য থেকে মনে হচ্ছে আপনি কোড জেনারেটরদের চেয়ে টিমের মান সম্পর্কে জিজ্ঞাসা করছেন।

একটি কোড উত্পন্ন সরঞ্জাম প্রকল্পে অন্তর্ভুক্ত করা উচিত এবং (যেখানে উপযুক্ত হবে) বিল্ড প্রক্রিয়ার অংশ হওয়া উচিত। একটি উদাহরণ আমাদের টিমের উপর থাকবে যা আমরা সাবসোনিক ২.২ ব্যবহার করি যা আমাদের বিল্ডে থাকা ডাটাবেস অবজেক্টগুলি থেকে ক্লাস উত্পন্ন করে।

প্রকল্পটির অংশ হিসাবে এই এক্সিটি যা করে তা এসভিএন-তে পরীক্ষা করা হয় যাতে দলের নতুন সদস্য এসএনএন থেকে নতুন প্রকল্পটি পেতে পারে এবং এই সমস্ত ডেটাবেস ক্লাসটি কোথা থেকে এসেছে তা নির্ণয় না করে তাৎক্ষণিকভাবে এটি তৈরি করতে পারে (উদাহরণস্বরূপ আমরা এমনকি উত্পন্ন কোডটি এসএনএন-তে অন্তর্ভুক্ত করবেন না)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.