অটো ফর্ম্যাট ব্যবহার করে গ্রহনে কোডটি ফর্ম্যাট করা কি ভাল ধারণা


20

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

সুতরাং এটি করা কি একটি প্রস্তাবিত জিনিস? যদি না হয় তবে আমাদের কোডটি গ্রহনে ফর্ম্যাট করার চেয়ে ভাল কী?


আমি সর্বদা ইমাসের অটো-ফর্ম্যাটিং ক্ষমতাটি ব্যবহার করি - সংঘর্ষের সম্ভাবনা রয়েছে (যেমন এসসি মার্জ করে) .. তবে সামগ্রিকভাবে, আপনার ফর্ম্যাটটিকে মানক করা অত্যন্ত সহায়ক
ওয়ারেন

উত্তর:


34

যখন বেশ কয়েকটি বিকাশকারী একটি সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করে একই কোডে কাজ করেন তখন কঠোর কোড বিন্যাসের নিয়ম কার্যকর হয়। একত্রীকরণের যন্ত্রণা হতে পারে যদি বিভিন্ন বিকাশকারীদের আলাদা আলাদা ফর্ম্যাটিং নিয়ম থাকে তবে একই সংযোজন সরঞ্জামটির জন্য একই কোডটি আলাদা দেখায়।

Eclipse (বা এই বিষয়ে কোনও ভাল আইডিই) কোড বিন্যাসের নিয়ম রয়েছে যা পছন্দ বিভাগে (জাভা> কোড স্টাইল> ফর্ম্যাটার) কাস্টমাইজ করা যায়। আপনি কী পছন্দ করেন তা চয়ন করুন, তবে জাভা স্ট্যান্ডার্ড কোড কনভেনশনগুলিতে একবার দেখুন । অনেকগুলি ওপেন সোর্স প্রকল্পগুলির নিজস্ব কোড কনভেনশন রয়েছে যা Eclipse formatter দিয়ে প্রয়োগ করা যেতে পারে।

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


4
একবার আপনি আপনার ফর্ম্যাটারটি যেভাবে পছন্দ করবেন সেটআপ করুন। একটি "রফতানি" বোতাম রয়েছে যা আপনাকে এটি একটি .xML ফাইলে সংরক্ষণ করতে দেয়। আমরা এটি আমাদের এসভিএন সংগ্রহস্থলে রেখেছি, সুতরাং তারা যখন প্রকল্পটি পরীক্ষা করে দেখেন তখন প্রত্যেকেরই এটির অ্যাক্সেস থাকে।
ক্রিস

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

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

24

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

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

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

// @formatter:off

... my nicely formatted table here ...

// @formatter:on

5
+1: অন / অফ ট্যাগ সম্পর্কে আমি কখনই জানতাম না (বা আরও নির্ভুল হতে হবে, আমি কখনই এটি সম্পর্কে সন্ধান করার জন্য বিরক্ত করিনি)।
পল কেগার

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

@ মুফাসা হ্যাঁ, আপনি ঠিক বলেছেন।
জেস্পের

1
আপনি যখন ফর্ম্যাট মন্তব্যটি না চান আপনি লিখতে পারেন * / - - আমার সুপার ফর্ম্যাট * / গ্রহন এই ধরণের মন্তব্য ফর্ম্যাট করে না :)
দাউদ ড্রজড

5

এটি প্রস্তাবিত কিনা তা নির্ভর করবে আপনি কাকে জিজ্ঞাসা করবেন তার উপর নির্ভর করবে।

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

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

একটি ভাল আইডিই বা সরঞ্জাম প্রায়শই আপনার জন্য কোড ফর্ম্যাট করতে একটি অর্ধ-শালীন কাজ করতে পারে, তবে এটি সর্বদা আপনার পাঠ্যযোগ্য হিসাবে তৈরি করতে পারে না।

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


5

আপনার সমস্ত উত্স ফাইলে আপনি একটি সামঞ্জস্যপূর্ণ স্টাইলিং ব্যবহার করেন তা নিশ্চিত করার জন্য আপনার এটি সর্বদা ব্যবহার করা উচিত। এটি আপনাকে অনেক সময় সাশ্রয় দেবে যা আপনি সাধারণত ম্যানুয়ালি ফরম্যাটিংটি সামঞ্জস্য করার চেষ্টা করতে ব্যয় করেছিলেন।

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

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


0

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

বিশেষত যদি আপনার "কোড ক্লিনআপ" + "ফর্ম্যাটার" সক্ষম থাকে তবে প্রতিটি সংরক্ষণে ইনডেন্টগুলি স্থির / অবিকৃত হয়ে যায়।

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

Eclipse দ্বারা প্রদত্ত কোড বিন্যাসকটি তাদের API এর তুলনায় এক্সটেনসেবল নয় বাস্তবে এটি স্পষ্টভাবে কোডফোর্মেটার জাভাদোককে জানিয়েছে

এই ক্লাসটি ক্লায়েন্টদের দ্বারা সাবক্লাস করার উদ্দেশ্যে নয়।

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

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