কোনও কার্যকরী সি ++ রিফ্যাক্টরিং সরঞ্জাম রয়েছে? [বন্ধ]


161

C ++ এর জন্য এমন কোনও সম্পূর্ণ বৈশিষ্ট্যযুক্ত রিফ্যাক্টরিং সরঞ্জামটি কি কেউ জানেন যা বড় কোড ঘাঁটি (কিছু 100.000 লাইন) এর সাথে নির্ভরযোগ্যভাবে কাজ করে?

আমি গত কয়েক বছরে যা কিছু বার বার খুঁজে পেতে চেষ্টা করেছি: স্লিকএডিট, এক্সিলিপ সিডিটি। তারা সব কিছু ব্যবহারযোগ্য ছিল না।

সংক্ষিপ্তসার : আমি সময় নিয়েছি এবং "ভিজ্যুয়াল অ্যাসিস্ট এক্স" পাশাপাশি "সি ++ এর জন্য রিফ্যাক্টর" মূল্যায়ন করেছি। উভয়ের কিছু মুগ্ধকর বৈশিষ্ট্য রয়েছে তবে উভয়ই নিখুঁত from কোডের একটি বৃহত ব্লক নিষ্কাশন করা সাধারণত ম্যানুয়াল পরিবর্তন ছাড়া সন্তোষজনকভাবে সম্পন্ন করা হয় না - এবং তাই এটি পরিশোধ করে না।

"ভিজ্যুয়াল অ্যাসিস্ট এক্স" এর মতো আরও অনেকগুলি সম্পূর্ণ স্বয়ংসম্পূর্ণকরণ ইত্যাদির মতো সুন্দর বৈশিষ্ট্য রয়েছে তবে এটি এত ঝাঁকুনির দিকে নিয়ে যায় এবং নির্দিষ্ট পয়েন্টে অনেকটা ধীর করে দেয়।

আমার মতে সেইজন্য উত্তরটি হ'ল: "না, সি ++ এর জন্য কোনও উত্পাদন প্রস্তুত রেফ্যাক্টরিং সরঞ্জাম নেই"

মার্চ 2015 আপডেট করুন hdghmens জবাব হিসাবে আজ আমি সি ++ এর জন্য পুনরায় ভাগ করার চেষ্টা করেছি। তার লিঙ্ক https://www.jetbrains.com/resharper/ সি ++ সম্পর্কে কিছুই বলে না। তবে আমি রিশার্পার সি ++ পেয়েছি যা এক বছর আগে এখানে ঘোষণা করা হয়েছিল:

https://www.jetbrains.com/resharper/features/cpp.html

আমি 20MB এর কোড বেস ব্যবহার করে ভিসি 2010 দিয়ে চেষ্টা করেছি।

পরীক্ষা 1: এক্সট্র্যাক্ট পদ্ধতি: পুনঃভাগের ব্যতিক্রমের ফলাফল। কোনও উত্স কোড পরিবর্তন করা হয়নি।

পরীক্ষা 2: বিভিন্ন উত্সের সাথে এক্সট্র্যাক্ট পদ্ধতি: সূক্ষ্মভাবে কাজ করে

পরীক্ষা 3: নিষ্ক্রিয় ফাংশনের স্বাক্ষর পরিবর্তন করুন: ভাঙা সি ++ কোডের ফলাফল:

bool myclass::do_work123(<unknown long Color>int& Filled*&, long, int&)

সম্ভবত এটি মূল পৃষ্ঠায় কেন সি ++ তালিকাভুক্ত নয় ts

আমার মতে এই প্রশ্নের উত্তরটি এখনও "না"


11
এটি পছন্দ করতেন। সি ++ এর সমস্যাটি এটি অত্যন্ত জটিল, প্রসঙ্গে-সংবেদনশীল সিনট্যাক্স। আসলে সম্পূর্ণ উত্সকে বিশ্লেষণ না করে আপনি সনাক্তকারী কী অর্থ তা নিশ্চিত হতে পারবেন না।
দেবসোলার

আরও দেখুন: stackoverflow.com/questions/249827/... কিন্তু এটা অনেক প্রস্তাব নেই
dmckee --- সাবেক মডারেটরের বিড়ালছানা

4
Eclipse আসলে বেশ সুন্দরভাবে কাজ করে, আপনাকে কেবল eclipse.ini সম্পাদনা করে আরও মেমরি ব্যবহার করার অনুমতি দেওয়া দরকার
n0rd

3
আপনি যদি এখনও সি ++ এর জন্য রিফ্যাক্টরিং সরঞ্জামগুলি পর্যবেক্ষণ করছেন তবে দয়া করে বিবেচনা করুন যে আমরা বর্তমানে জেটব্রেইনসে রিসার্পারে সি ++ সমর্থন এবং একটি পৃথক ক্রস-প্ল্যাটফর্ম সি ++ আইডিই
জুরা গোরোভস্কি

1
@ রেড সফট অ্যাডায়ার আপনি বিখ্যাত। এই youtu.be/RT46MpK39rQ?t=1611
জর্জি সি

উত্তর:


38

আমি ভিজুয়াল স্টুডিও সহ ভিজ্যুয়াল অ্যাসিস্ট এক্সকে খুব দরকারী বলে মনে করি। আর একটি পছন্দ সি ++ এর জন্য রিফ্যাক্টর


8
দুর্ভাগ্যক্রমে, সি ++ এর জন্য রিফ্যাক্টর বড় কোডবেসের সাথে ভাল (যদি মোটেও) ভাল কাজ করে না।
ড্যানিয়েল রোজ

1
সি ++ এবং বৃহত্তর কোড বেসগুলির জন্য বিশেষত রেফ্যাক্টরের সাথে কী ঘটে?
ইরা

2
@ ইরাক্যাক্সটার এটি সহজেই নষ্ট হয়ে গেছে। রিফ্যাক্টরিং বিকল্পগুলি প্রদর্শিত হয় না সম্পূর্ণ হয় না। অদ্ভুত ত্রুটি বার্তা বা কিছুই নেই।
ড্যানিয়েল রোজ

4
সি ++ এর জন্য রিফ্যাক্টর এমনকি ছোট কোডবেসের জন্যও ভাল কাজ করে না, এটি ভাঙ্গা এবং মোটেও অব্যর্থ।
kovarex

3
@ নীল: আপনি যা বোঝেন না তার একটি নির্দিষ্ট উদাহরণ সরবরাহ করতে পারেন?
ইরা বাক্সটার

41

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


23

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

গুঞ্জন ইতিমধ্যে ঝাঁকুনি ব্যবহার করে একটি বৃহত আকারের রিফ্যাক্টরিং সরঞ্জাম তৈরি করেছে


2
তবে এর কোনও ফলাফল রয়েছে যা গুগলের বাইরে নিছক নশ্বর ব্যবহার করতে পারে?
জানু হুডেক

1
@ জানহুদেক: এখান থেকে লিঙ্কিত টিউটোরিয়ালটি দেখুন: মন্তব্যগুলি
হাইকম্যান্ডার

17

মজিলার পোর্ক ( উইকি , বিকাশকারী উইকি ) নামে নিজস্ব রিফ্যাক্টরিং সরঞ্জাম রয়েছে । এখানে पोर्কের পিছনে বিকাশকারীদের ব্লগ। আমি যা পড়েছি তা থেকে মোরগ সফলভাবে মোজিলায় রিফ্যাক্টরিংগুলিতে ব্যবহৃত হয়েছিল।

আপনি যদি * নিক্স স্থল থেকে এসে থাকেন তবে শুয়োরের মাংসকে সহায়তা করা উচিত, ভিজ্যুয়াল স্টুডিওর জন্য আমিও ভিজ্যুয়াল সহায়তার প্রস্তাব দিই recommend


9

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

নাম এবং প্রকারের রেজোলিউশনের সাথে এটিতে একটি সম্পূর্ণ সি ++ পার্সার রয়েছে, কোডের এএসটি তৈরি করে, গাছগুলি পুনর্বিবেচনার জন্য পদ্ধতিগত বা উত্স-থেকে-উত্স রূপান্তর (সি ++ পৃষ্ঠতল সিনট্যাক্স সহ) প্রয়োগ করতে পারে এবং সংরক্ষিত মন্তব্যে সমন্বিত আউটপুট পুনরায় জেনারেট করতে পারে। (সম্পাদনা করুন: 7/1/2011: এখন আমরা C ++ 1X কী পরিমাণে আমরা মান বুঝতে পারি :)

এটি সি ++ উপাদান পুনঃ-আর্কিটেকচারিং এবং ল্যাঙ্গোজের মধ্যে 100% সম্পূর্ণ স্বয়ংক্রিয় অনুবাদ সহ scale বৃহত আকারের পুনর্নির্মাণ প্রকল্পগুলিতে ব্যবহৃত হয়েছে। আপনি ওয়েবসাইটে এই সম্পর্কে পড়তে পারেন।

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

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

সম্পাদনা 7/5/2011: দেখে মনে হচ্ছে আমরা ইন্টারেক্টিভ সংস্করণে একটি রান নিতে যাচ্ছি। আমরা কীভাবে এটি করব তা খতিয়ে দেখতে আমরা বিদ্যুতের প্রথম বিভাগের একটি বিভাগ জিতেছি won দেখুন http://science.energy.gov/sbir/awards-and-general-stats/fy-2011/phase-i-by-state/?p=1#tx ( "টেক্সাস" এর অধীনে শব্দার্থিক ডিজাইন জন্য চেহারা)। তাড়াহুড়ো করে ফলাফল আশা করবেন না; কোনও সরঞ্জামে উঠতে এটি কেবল 3 পর্বের বহু-বছরের প্রোগ্রামের শুরু।

সম্পাদনা 8/11/2011: প্রথম অগ্রগতি ... আমরা এখন সমস্ত সি ++ 0 এক্স এবং ওপেনএমপি নির্দেশনা পরিচালনা করি।

সম্পাদনা 1/4/2012: সি ++ কোডের সম্পূর্ণ নিয়ন্ত্রণ প্রবাহ বিশ্লেষণ করে।

সম্পাদনা 9/15/2014: এখন সি ++ 14 ফ্রন্ট এন্ড পার্সার / ট্রান্সফর্মেশন ইঞ্জিন ভাল হাতে রয়েছে। এমনকি এই মুহুর্তে বেশ নির্ভরযোগ্যভাবে নতুন নামকরণ করা হয়: -}


আপনার ডাউনলোড পেজে এই টুল মূল্যায়নের জন্য একটি লিঙ্ক হতে বলে মনে হচ্ছে না semanticdesigns.com/Products/RegisterEval.html একটি ট্রায়াল সংস্করণ এবং VS2010 বা VS2008 জন্য এই সময়ে পাওয়া যায় মূল্যের হয়?
SmacL

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

... ডিএমএস VS2008 / VS2010 রূপান্তর করতে সক্ষম, তবে একটি ইন্টারেক্টিভ সরঞ্জাম হিসাবে নয়, এবং প্রিপ্রসেসর নির্দেশিকাগুলির ক্ষেত্রে সীমাবদ্ধতা রয়েছে। (সুসংবাদটি হ'ল আমরা মনে করি যে এগুলি দিয়ে আমরা একটি বড় সমস্যা সমাধান করেছি, এবং দ্বিতীয় পর্বের গবেষণা ও উন্নয়ন প্রোগ্রামে এটি প্রয়োগ করব)।
ইরা

প্রতিক্রিয়াটির জন্য ধন্যবাদ, তবে আমি যে ধরণের সরঞ্জামটি পরে আছি তার মতো দেখায় না। আমার কোনও ইন্টারেক্টিভের দরকার নেই, একটি বাহু এবং পা ব্যয় না করে বৃহত্তর কোড বেসগুলিতে যুক্তিসঙ্গতভাবে সহজ রূপান্তর সম্পাদন করতে পারে এমন কিছু দরকার নেই, যেমন একটি রেফারেন্সের পয়েন্টার প্যারামিটার পরিবর্তন করে, কলটি যে পরামিতিগুলি নেয় সেগুলির সংখ্যা পরিবর্তন করে। ভিজ্যুয়ালঅ্যাসিস্টটি নিকটে তবে আরও খানিকটা এগিয়ে যেতে হবে।
SmacL

3
... ডিএমএসের উদ্দেশ্য হ'ল "রিফ্যাক্টরিং" বা "না" কোড ট্রান্সফর্মেশনের কোডিং এবং ত্রুটিমুক্ত অ্যাপ্লিকেশন সক্ষম করে। হ্যাঁ, এটি শক্ত এবং আমরা এখনও সেখানে নেই। আমি সি ++ এর জন্য দেখেছি এমন অন্য যে কোন সরঞ্জামের চেয়ে আমরা IMNSHO এর কাছাকাছি এবং আমাদের সরঞ্জামের ভিত্তিতে কোনও ভুল নেই। যা আছে তা হ'ল প্রিপ্রোসেসর, কোড স্কেল এবং সি ++ এর শব্দার্থবিজ্ঞানের কোড করার চেষ্টা করার সাথে বাজে সমস্যাগুলি যেমন রূপান্তরকে অনুমতি দেয়। এবং আমি প্রথম বলব এটি একটি বিগ প্রকল্প।
ইরা বাক্সার

8

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


6

বর্তমানে আমি সি ++ এর জন্য কোনও রিফ্যাক্টরিং সরঞ্জামের সুপারিশ করতে পারি না , অবশ্যই 100k লাইন এবং এর চেয়ে বড় সংখ্যক কোড ঘাঁটির জন্য নয়। আমি আশা করি এটি ওপি-র মতো পরিবর্তিত হবে এবং আমি আশা করি একদিন কিছু একটা হবে। আমি আশঙ্কা করি যে কোনও সত্যিকারের ভাল সরঞ্জাম আমরা দেখার আগে ভাষাটি নিজেই পরিবর্তিত হতে পারে।

বিটিডব্লিউ, স্লিকএডিট কি এর রিফ্যাক্টরিং বৈশিষ্ট্যগুলি বাদ দিয়েছে?


ভাষা করেনি উল্লেখযোগ্যভাবে পরিবর্তন, সি ++ 2011 মান মুক্তির সঙ্গে। অতিরিক্ত জটিলতাগুলি সমস্যাটিকে আরও শক্ত করে তোলে, সহজ নয়, কারণ সমস্ত ব্যবহারকারীরা সমস্ত উন্নত ভাষার বৈশিষ্ট্য এবং একটি রিফ্যাক্টরিং দক্ষতা চান:
Ira

2
স্লিককেডিটের সামর্থ্যগুলি সম্পর্কে সম্প্রতি পড়ে, এটি উপস্থিত হয় যা এটি হিউরিস্টিক পদ্ধতিতে একটি নাম ব্যবহারের সাথে সম্পর্কিত সংজ্ঞাটি নির্ধারণ করে। এটি একটি "সঠিক" সি ++ নাম অনুসন্ধান করে না। এর অর্থ আপনি এর রূপান্তরগুলি সঠিক হতে বিশ্বাস করতে পারবেন না। যদি আপনি এর কাজটি পর্যবেক্ষণ করতে আপত্তি করেন না তবে এটি আপনার পক্ষে ঠিক আছে। সত্যিই বড় সফ্টওয়্যার প্যাকেজগুলিতে, এটি সম্ভবত ভাল নয়। আমার মতামত.
ইরা বাক্সার

3

ডিএমএস সফ্টওয়্যার rengineering টুলকিট এই আমি মনে করি না। এটি একটি কোড ট্রান্সফর্মেশন ইঞ্জিন, বড় স্কেলের জন্য ডিজাইন করা এবং সি ++ পরিচালনা করে। যদিও আউটপুটটি কত মার্জিত তা কোনও ধারণা নেই।


1
সিএমএস + কোডের বৃহত সংস্থাগুলির পুনঃনির্মাণটি স্বয়ংক্রিয় করতে ডিএমএস ব্যবহার করা হয়েছে। আকার্স, আর।, বাক্সটার, আই।, মেহলিচ, এম।, এলিস, বি।, লুইক, কে। কেস স্টাডি: পুনরায় ইঞ্জিনিয়ারিং সি ++ কম্পোনেন্ট মডেলগুলির মাধ্যমে স্বয়ংক্রিয় প্রোগ্রাম রূপান্তর, তথ্য ও সফটওয়্যার প্রযুক্তি 49 (3): 275 -291 2007. প্রকাশক থেকে উপলব্ধ
ইরা

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

3

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

  • সংজ্ঞা / ঘোষণায় যান
  • সমস্ত রেফারেন্স সন্ধান করুন, পরবর্তী / পূর্ববর্তী যান
  • পুনরায় নাম প্রতীক
  • ঝাঁকুনির "ফিক্সিট" এর সাথে সংহতকরণ

আমি এই দেখার পর এটা ব্যবহার করে দেখুন দেওয়ার সিদ্ধান্ত নিয়েছেন আলাপ যা আমার জন্য rtags (এবং Emacs) পরিচয় করিয়ে দেন।

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

Rtags দ্বারা যা সমর্থনযোগ্য তা ছাড়াও আমার কিছু অতিরিক্ত ঝরঝরে বৈশিষ্ট্যও রয়েছে যার মধ্যে রয়েছে:

  • ফাংশন সংজ্ঞা / প্রোটোটাইপ তৈরি করুন
  • নিষ্কাশন ফাংশন
  • গেটর / সেটার পদ্ধতি তৈরি করুন

এগুলির জন্য, আমি ইমাসের জন্য একটি অর্থ-রিফ্যাক্টর প্যাকেজ ব্যবহার করার পরামর্শ দিচ্ছি (ভিমের বিকল্প রয়েছে কিনা তা নিশ্চিত নয়)

সাধারণত, ঝনঝন ভিত্তিক সরঞ্জামগুলি খুব আশাব্যঞ্জক দেখায় । আপনি যদি বড় কোডবেসযুক্ত প্রকল্পগুলি সহ সি ++ রিফ্যাক্টরিংয়ের ঝনঝন সরঞ্জামগুলি সম্পর্কে আরও তথ্যে আগ্রহী হন তবে চ্যানডলার ক্যারথের দুর্দান্ত কিছু আলোচনা রয়েছে।


2

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


2

সমস্যাটি সি ++ টেম্পলেটগুলি। 2019 পর্যন্ত আমি এমন কোনও রিফ্যাক্টরিং সরঞ্জাম সম্পর্কে সচেতন নই যা সি ++ টেমপ্লেট সমর্থন করে। আমি ভিএস2019, ভিজ্যুয়ালঅ্যাসিস্ট, ক্লিওন, কিউটিক্রিটর চেষ্টা করেছি।

উদাহরণ বিবেচনা করুন:

#include <iostream>

struct foo { void print() {} };
struct bar { void print() {} };

template <typename T>
void call_print(T&& v) { v.print(); }

void print() {}

int main()
{
    call_print(foo{});
    call_print(bar{});
    return 0;
}

যদি আমি উপর পুনরায় নামকরণ refactoring চালানো foo::print, bar::printস্বয়ংক্রিয়ভাবে নতুন নামকরণ করা উচিত। কারণ তারা call_printফাংশন টেম্পলেট ইনস্ট্যান্টেশনগুলির মাধ্যমে লিঙ্কযুক্ত ।


1

আপনি যদি ভিজ্যুয়াল সি ++ (এক্সপ্রেস সংস্করণ বিনামূল্যে) ব্যবহার করেন তবে আপনি ব্যবহার করতে পারেন www.wholetomato.com (সি ++ রিফ্যাক্টরিং বৈশিষ্ট্যগুলির লিঙ্ক) থেকে ভিজ্যুয়াল সহায়তা

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


2
আমি ভাবিনি যে আপনি এক্সপ্রেস সংস্করণ দিয়ে প্লাগইনগুলি ব্যবহার করতে পারবেন
ইয়াকোবি

3
আমি অতীতে ভিএস সি ++ এক্সপ্রেস সহ অবশ্যই ভিএ ইনস্টল করার চেষ্টা করেছি এবং এটি কার্যকর হয়নি।
কুমারানা

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

1

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


1

মাইক্রোসফ্ট থেকে ভিজ্যুয়াল স্টুডিও 2013 এর জন্য এখন একটি সি ++ রিফ্যাক্টরিং এক্সটেনশন রয়েছে: http : //visualstudiogallery.msdn.mic Microsoft.com/164904b2-3b47-417f-9b6b-fdd35757d194


হ্যাঁ, আমি এটি দেখেছি, তবে এটি কেবল প্রথম চেষ্টা এবং কেবল "পুনরায় নামকরণ" coversেকে রাখে। কোনও এক্সট্র্যাক্ট ফাংশন ইত্যাদি নয় তবে আমি আরও আসার অপেক্ষায় রয়েছি ...
রেড সফট অ্যাডায়ার

1

সংজ্ঞায়িতভাবে পুনরায় ভাগ করুন আলটিমেট উপায়। সুখ গ্যারান্টিযুক্ত :)

2015 এর মার্চ হিসাবে বিটা সংস্করণে।


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

এটি .NET .... সি ++ এর জন্য নয়।
wcochran


1

ক্লিয়ন খুব প্রতিশ্রুতিবদ্ধ দেখাচ্ছে।

দাবি অস্বীকার: আমি এখনও এটি চেষ্টা করি নি কারণ আমার প্রকল্পগুলি এটি ব্যবহারের জন্য সিএমকে ফর্ম্যাটে রূপান্তর করতে হবে।


1

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


1

এই প্রশ্নটি এত দেরীতে খুঁজে পেয়ে দুঃখিত। আমার শিক্ষার্থী এবং সহকারীরা ২০০ 2006 সাল থেকে সি ++ রিফ্যাক্টরিংয়ে কাজ করে Most বেশিরভাগ সিডিটি রিফেক্টরিং অবকাঠামো আমার দলটি সফটওয়্যার আইএফএস ইনস্টিটিউটে তৈরি করেছিল। বেশ কয়েক বছর যাবত আমরা সি ++ কোড আধুনিকায়নের রিফ্যাক্টরিং ইত্যাদির জন্য আমাদের সিডিটি-র সংস্করণ সেলফ সরবরাহ করি Ce Https://cevelop.com এ বিনামূল্যে উপলব্ধ


খুব আকর্ষণীয়. আমি এটি ডাউনলোড করেছি এবং এটি শুরু করবে না। দয়া করে github.com/Cevelop/Issues/issues/84 দেখুন
রেড সফট

0

আমি ভিজ্যুয়াল স্টুডিও 2013 এর জন্য নিম্নলিখিত প্লাগইনটি পেয়েছি: ভিজ্যুয়াল সি ++ রিফ্যাক্টরিং মাইক্রোসফ্ট দ্বারা ।

এটি কেবল একটি সহজ নামকরণ সরঞ্জাম তবে এটি নির্দোষ কাজ করে। এটি প্রতীকটিতে ডান ক্লিকের পরে নিম্নলিখিত প্রসঙ্গ মেনুটি যুক্ত করে:

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

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