কোড জেনারেশন কি কোডের মান বাড়ায়?


12

কোড জেনারেশনের পক্ষে যুক্তি দিয়ে আমি কয়েকটি উপায়ের সন্ধান করছি যাতে এটি কোডের মান বাড়ায়। কোড জেনারেশন বলতে আমি কী বোঝাতে চাই তা স্পষ্ট করতে আমি কেবল আমার একটি প্রকল্প সম্পর্কে কথা বলতে পারি:

আমরা আমাদের ডাটাবেস স্কিমাতে সত্ত্বার সম্পর্কগুলি বর্ণনা করতে এক্সএমএল ফাইলগুলি ব্যবহার করি, সুতরাং সেগুলি আমাদের ওআরএম কাঠামো এবং HTML ফর্মগুলি তৈরি করতে সহায়তা করে যা সত্তা যুক্ত করতে, মুছতে এবং সংশোধন করতে ব্যবহৃত হতে পারে।

আমার মতে এটি কোডের মান বাড়ায় কারণ মানুষের ত্রুটি হ্রাস পেয়েছে। যদি কোনও কিছু ভুলভাবে প্রয়োগ করা হয় তবে এটি মডেলটিতে ভেঙে যায়, যা ভাল কারণ আরও উত্পন্ন কোডটিও ভেঙে যাওয়ার কারণে ত্রুটিটি শীঘ্রই উপস্থিত হতে পারে।

যেহেতু আমাকে কোড মানের সংজ্ঞা দেওয়ার জন্য জিজ্ঞাসা করা হয়েছিল, তাই আমি এটিকে পরিষ্কার করে বলি, আমি যা বোঝাতে চেয়েছিলাম তা হল সফ্টওয়্যার গুণমান

সফটওয়্যার কোয়ালিটি : এটি একটি বৈশিষ্ট্য নয় বরং অনেকগুলি, যেমন: দক্ষতা, পরিবর্তনশীলতা, পাঠযোগ্যতা, সঠিকতা, দৃust়তা, বোধগম্যতা, ব্যবহারযোগ্যতা, বহনযোগ্যতা ইত্যাদি যা একে অপরের উপর প্রভাব ফেলে।


3
কোড মানের আপনার সংজ্ঞা কি?
NoChance

@ ইমাদকরিম আমি মূল প্রশ্নের উপরে এর একটি সংক্ষিপ্ত সংজ্ঞা যুক্ত করেছি।
প্ল্যাটজিরশ

1
আমি মনে করি যে স্বয়ংক্রিয় কোড জেনারেশন আপনার কোডে ধারাবাহিকতা এবং অভিন্নতা বাড়াতে সহায়তা করবে। কিছু ক্ষেত্রে যা গুণগত মান বাড়িয়ে দেয় তবে আমি মনে করি না এটি একটি ক্যাচ-অল।
joshin4colours

উত্তর:


38

কোড জেনারেটর যিনি জেনারেটর লিখেছেন তার চেয়ে ভাল কোড তৈরি করতে পারে না।

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

আমি একবার কোড জেনারেটরের পক্ষে একটি যুক্তি শুনেছিলাম যে কোনও একক প্রোগ্রামার প্রতিদিন এবং কোড জেনারেটরের সাথে প্রচুর কোডের লাইন তৈরি করতে পারে, তারা কয়েক হাজার লাইন তৈরি করতে পারে! স্পষ্টতই আমরা জেনারেটর ব্যবহার করছি না এ কারণেই।


6
+ ইতালি অংশটি হাজার বার thousand কোড জেনারেটরগুলি আপনার সংকলক বা সি ++ টেমপ্লেট প্রক্রিয়াটির মতো কাজ করতে হবে: আপনাকে তাদের আউটপুট নিজেই সম্পাদনা করতে হবে না। আপনি যদি কোনও বাগ সন্দেহ করেন তবে কেবল একবারই আউটপুটটি পড়া উচিত।
আনন

1
আমি লজ্জা পাচ্ছি আমি বেশি ভোট দিতে পারি না ...
ফ্যাব্রিকিও আরাউজো

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

... হস্ত সম্পাদিত অবজেক্ট কোডটির শব্দার্থবিজ্ঞানের সাথে মিলের জন্য উত্স কোডটিও আপডেট করুন।
সুপারক্যাট

20

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


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

1
ওহ, +1 বা -1 .... একদিকে বিরক্তিকর পুনরাবৃত্তি কোড সরিয়ে ফেলতে কোড জেনারেশন খুব দরকারী যেখানে আপনার সংজ্ঞাটি কেবল কোডে প্রসারিত হয়েছে তবে আপনি ঠিক বলেছেন যে এটি সমস্ত পদ্ধতিতে অতিরিক্ত ব্যবহার হয়ে যায় code 'সময় সাশ্রয়' জটিলতা যা নিজের মধ্যে একটি অ্যান্টি-প্যাটার্ন শেষ করে।
gbjbaanb

13

আমি মনে করি স্বয়ংক্রিয় কোড জেনারেশন এবং কোডের মান কিছুটা অরথোগোনাল এবং অগত্যা পারস্পরিক সম্পর্কযুক্ত নয়।

কোড জেনারেশন হ'ল নির্দিষ্ট প্রযুক্তিগত কাজটি সমাধান করার উপায়। কোডের মান বৃদ্ধি পেয়েছে কিনা তা আপনি যা করছেন তার উপর নির্ভর করে।

আপনার পরিস্থিতি কোড জেনারেশনের একটি উত্তম উদাহরণ, এর ফলে সম্ভাব্য ত্রুটিগুলি শুরুর দিকে কোডের মান বাড়িয়ে তোলে।

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

উপসংহারটি আঁকতে, স্বয়ংক্রিয় কোড জেনারেশন সঠিকভাবে ব্যবহৃত হলে কোডের মান বাড়াতে সহায়তা করতে পারে।


11

কোড প্রজন্ম কোডের মান যেমন কোনও পরিমাণে সামঞ্জস্যকে প্রভাবিত করে না ।

উত্পন্ন কোড প্রজন্মের উদাহরণগুলির মধ্যে সামঞ্জস্যপূর্ণ হবে। যদি জেনারেটরটি ভাল মানের কোড নির্গত করার জন্য ডিজাইন করা হয় তবে উত্পন্ন কোডটি ধারাবাহিকভাবে ভাল মানের হবে। তবে, কোড জেনারেটর যদি খারাপ মানের কোডটি প্রকাশ করে তবে আপনি ধারাবাহিকভাবে খারাপ কোড পাবেন।

কোড জেনারেশনও দ্রুত কোড তৈরি করতে ব্যবহৃত হতে পারে । তাত্ক্ষণিকভাবে, এর অর্থ আরও ভাল নয় ... এর অর্থ এই হতে পারে যে আপনি আপনার খারাপ মানের কোডটি আরও দ্রুত পান।


6

কোড জেনারেশন ভাল হয় যদি:

  • উত্পন্ন কোডটি সম্পাদনার কথা নয়
  • কোড জেনারেটর আপনাকে যা করা দরকার তা করার জন্য আপনাকে যথেষ্ট নমনীয়তা দেয়
  • কোড জেনারেটরের ইনপুট ভাষাটি অন্যথায় আপনাকে যা লিখতে হবে তার চেয়ে ভাল (অর্থাত্ DRY) is
  • কোড জেনারেটর একটি ভাল নির্ভরযোগ্য কোড তৈরি করে যা আপনার কথার মতো হলেও আপনার চিন্তা করতে হবে না

যখন এটি হয়, আপনার কোডটির গুণমানটি বিবেচনা করা উচিত সেই কোডটি হ'ল জেনারেটরের ইনপুট।

প্রয়োজনের সাধারণ পরিবর্তনগুলির জন্য, মানের একটি সাধারণ পরিমাপ হ'ল আপনাকে কতটা ম্যানুয়াল সম্পাদনা করতে হবে। যত কম, তত ভাল।


এবং যে উত্পন্ন কোডটি স্বচ্ছভাবে মূলটিতে ফিরে আসে, তাই আপনাকে উত্পন্ন কোডে ডিবাগ করতে হবে না।

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

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

@ জিবিজেবায়ানব: আমি সম্মত এজন্য আমি যথেষ্ট নমনীয়তা বলেছি । আমার কাছে সমস্যাটি কোড জেনারেটর নিজেই নয়, তবে ডোমেন-নির্দিষ্ট-ভাষা যা এর ইনপুট হিসাবে কাজ করে। যদি ডিএসএল খুব নমনীয় হয় তবে ব্যবহারকারীকে বিকল্পগুলির মধ্যে প্রায় সাঁতার কাটাতে হবে। যদি এটি যথেষ্ট নির্দিষ্ট না হয় তবে ব্যবহারকারীকে তার সীমাবদ্ধতার আশপাশে কাজ করতে হবে। আমি এর উদাহরণ দিতে পারি।
মাইক ডুনলাভে

4

ডিআরওয়াইয়ের কারণে কোডের মান বৃদ্ধি পেয়েছে (নিজেকে পুনরাবৃত্তি করবেন না)।

কোড জেনারেশন নিয়ম একবার লেখা হয়; উত্পন্ন কোডের প্রতিটি উদাহরণের জন্য এগুলিকে কঠোরভাবে কোড করা হয় না এবং এ কারণে হালকা পরিবর্তন করে সামগ্রীতে অনুলিপি / আটকানোতে মানুষের ত্রুটির সম্ভাবনা হ্রাস পায়।


যদি না আপনার উত্পন্ন কোডটি সম্পাদনা করতে হয় - যা মোটেও DRY নয় .... আমাকে সম্প্রতি এটি করতে হয়েছিল - এটি মোটেও সুখকর নয় । যদি আমাকে নিজে থেকে একটি স্বয়ংক্রিয় জেনারেটেড কোড বেসটি সম্পাদনা করতে হয় তবে আমি তিনবার চার্জ করব !!!
ফ্যাব্রিকিও আরাউজো

1
আপনাকে সেই কোডটি কখনও সম্পাদনা করতে হবে না; কোডটি সম্পাদনা করুন যা প্রজন্ম নিজেই করেছে এবং প্রয়োজনে অতিরিক্ত বিধি দিয়ে এটি বাড়িয়ে তোলে। উত্পন্ন কোড সম্পাদনা করা সর্বশেষ অবলম্বন হওয়া উচিত।
আর্নলেমলেস

1
আমি পছন্দ করতে চাই .. আমি না।
ফ্যাব্রিকিও আরাউজো

2

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

এখানে চিত্র বর্ণনা লিখুন

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

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

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

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

আমার কাছে এপিক দলের মধ্যে ব্লুপ্রিন্টের মালিকানা বিকাশের পক্ষে আরও যুক্তিযুক্ত যুক্তি রয়েছে যা সাধারণ জনগণের পক্ষে সবেমাত্র টেবিলে নতুন কিছু এনে দেয় এমন সাধারণের জন্য প্রচুর অতিরিক্ত অতিরিক্ত প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি করা হয়েছে।


1

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

কোড জেনারেটরগুলি ভাল, তবে তাদের সাথে সাবধান!


1

আমি এমন একটি দোকানে কাজ করতাম যা কোড প্রজন্মের উপর প্রচুর নির্ভর করে। আমার মনে এটি প্রকল্পের কোডটি খুব অভিন্ন করেছে। এবং সেই ক্ষেত্রে, মানটি ঠিক ছিল।

তবে, যখন আপনাকে আর কাস্টম কোড লেখার অনুমতি নেই কারণ সবকিছুই জেনারেটরের মধ্য দিয়ে যেতে হয় তখন আমি মনে করি আপনি প্রোগ্রামার হওয়ার প্রান্তটি হারাবেন।

সুতরাং আমি মনে করি এটি নিশ্চিতভাবে ডাবল এজ তরোয়াল বিষয়। হ্যাঁ জেনারেটর দুর্দান্ত কারণ তারা ত্রুটিগুলি হ্রাস করে এবং কোডের মান বাড়ায়, তবে তারা প্রোগ্রামারদের কিছু "বোবা" বানাও, কারণ তারা হাত নোংরা করার পরিবর্তে জেনারেটরের উপর নির্ভরশীল।

শুধু আমার 2 সেন্ট।


3
সংবিধানের ভাষা প্রোগ্রামারগণ সংকলকগুলির সম্পর্কে এটি বলতেন। সুতরাং আমি নিশ্চিত নই যে এটি দুর্দান্ত যুক্তি। আপনার হাত নোংরা করতে বাধ্য করা একটি ভাল শিক্ষার অভিজ্ঞতা হতে পারে তবে আপনি একবার শিখলে আপনার পাওয়া যায় সবচেয়ে বেশি উত্পাদনশীল সরঞ্জাম tool
মার্কজে

@ মারকজে: কখনও কখনও সমাবেশটি অভিন্নতার জন্য সংকলিত ভাষার চেয়ে ভাল হতে পারে। উদাহরণস্বরূপ, কিছু এম্বেড থাকা সিস্টেমে এটি x=someValue ^ 0xFF ^ 0xFF ^ 0xFF ^ 0xFF;চারটি এক্সওর-আক্ষরিক নির্দেশাবলীর সাথে কোড করার জন্য এটির সমতুল্য কোডটি সক্ষম হতে দরকারী । যদি কোড স্টোরেজ মিডিয়ামটি কেবল ফাঁকা (0xFF) বাইট লিখতে পারে তবে উপরের কনস্ট্রাক্টটি মানটিতে চারটি নির্বিচারে পরিবর্তনকে অনুমতি দেবে। এমনকি যদি কোনও ব্যক্তি এক্সপ্রেশনটি পুনরায় x=someValue; x = x ^ 0xFF ^ 0xFF ^ 0xFF ^ 0xFF;লেখেন এবং সংকলক রানটাইমের সময় সমস্ত জোরকে মূল্যায়ন করে, তবুও এটি একটি "সমস্ত বিট পরিপূরক" ব্যবহার করতে পারে ...
সুপারক্যাট

... জোর-তাত্ক্ষণিকের চেয়ে নির্দেশনা।
সুপারক্যাট 26'15

1

মার্টিনের উত্তর ছাড়াও, আমি যুক্ত করব যে এসকিউএল কোড জেনারেশনটি খুব ভাল যখন আপনি রেকর্ড-বাই-রেকর্ড ভিত্তিতে কাজ করেন (ট্যাব 1 থেকে ট্যাব 1 নির্বাচন করুন যেখানে ট্যাব 1.pkcolumn =: পরামিতি, ট্যাব 1 সেট [যে কোনও সংখ্যক কলাম]] যেখানে নির্বাচন করুন tab1.pkcolumn =: প্যারামিটার ইত্যাদি)। এবং আপনার ওআরএম সেই দৃশ্যে উজ্জ্বল হবে, কারণ এসকিউএল তৈরি করতে হবে তা অবশ্যই পুনরাবৃত্তিযোগ্য।

আমার প্রধান উদ্বেগগুলি হ'ল মেটাक्য়েরিজ - অবজেক্টের বৈশিষ্ট্যগুলির অনুসন্ধানগুলি যা ওআরএম এসকিউএল-তে যে কোনও অ্যালগরিদম ব্যবহার করে অনুবাদ করে। খুব অনুরূপ মেটাকোয়ারী এসকিউএল তৈরি করতে পারে যা সম্পূর্ণ আলাদা - এবং এই উত্পন্ন এসকিউএল পারফর্ম্যাটিকের কোনও গ্যারান্টি নেই।

একটি মেটাকোয়ারি ভাষা যা অন্য ভাষায় অনুবাদ করে (এসকিউএল) যা ডেটা সংগ্রহের কার্যকরভাবে কার্যকর করার জন্য একটি কোয়েরি পরিকল্পনায় অনুবাদ করে। এবং উত্পন্ন ফলাফল অবশ্যই অবজেক্টস হতে হবে, সুতরাং ওআরএম অবশ্যই ক্ষতিগ্রস্থ বস্তুগুলি তাত্ক্ষণিক করে তুলবে - যাতে এটি মেটাকোয়ারির দ্বারা আনা না হওয়া অবজেক্টগুলির বৈশিষ্ট্যগুলি পূরণ করতে প্রশ্নের আরও বৃষ্টি হতে পারে ...


0

আমি তাদের সাথে পুরোপুরি সম্মত যারা বলে যে কোড জেনারেশন ঠিক আছে যতক্ষণ না আপনার উত্পন্ন কোডটি কখনই সম্পাদনা করতে হবে না (পছন্দসইভাবে, কখনই তাকাতে হবে না)।

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


সংযোজন: অবশ্যই, অন্যান্য কারণগুলি যেমন মৃত্যুদন্ড কার্যকর করার সময়, ভূমিকা নিতে পারে।

ব্যক্তিগতভাবে, আমি বেশ কয়েকটি কোড জেনারেটর লিখেছি, তবে প্রাথমিক পদ্ধতির হিসাবে কখনও হয়নি।

এটি সর্বদা ছিল যখন আমি বিদ্যমান কোডটিতে পুনরাবৃত্ত প্যাটার্নটি লক্ষ্য করেছি, সুতরাং আমার জেনারেটর নতুন যুক্ত করার সময় কিছু বিদ্যমান কোড গ্রহণ করে তবে অনুরূপ, কোড এবং এর কিছু পরিবর্তনশীল অংশকে প্যারামেট্রাইজ করে।

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

বিটিডব্লিউ, আমি খোলার / সমাপ্ত মন্তব্যগুলি অন্তর্ভুক্ত করার পক্ষে পরামর্শ দিচ্ছি যা নির্দেশ করে যে কোডটি উত্পন্ন হয়েছিল, সরঞ্জাম এবং তার রক্ষণাবেক্ষণকারীদের বিশদ সহ generated

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