কেন এই রুবি ফরম্যাটার ব্যবহার করবেন
- সামঞ্জস্যপূর্ণ রুবি কোডের জন্য রুফো-স্টাইল, মতামতভিত্তিক ফরম্যাটিং
- ইন্ডেন্টেশন, ফাঁকা লাইন এবং অপারেটর চারপাশের স্পেসিং স্বাভাবিক করে
- আইডেম্পোটেন্ট আউটপুট – একই ফাইল আবার ফরম্যাট করলে একই ফলাফল পাওয়া যায়
- রুবি শব্দার্থবিদ্যাকে সম্মান করে – শুধুমাত্র লেআউট পরিবর্তন, আচরণ পরিবর্তন নয়
- বক্সের বাইরে .rb, .rake এবং .gemspec ফাইল সমর্থন করে
- শূন্য কনফিগারেশন: এক-ক্লিক ফরম্যাট, কোনো জটিল সেটিংসের প্রয়োজন নেই
- সম্পূর্ণরূপে আপনার ব্রাউজার UI-তে চলে – শুধু পেস্ট করুন বা একটি ফাইল ড্রপ করুন
- rubocop/standard-এর জন্য একটি চমৎকার সঙ্গী হিসেবে শুধুমাত্র লেআউট ফর্ম্যাটার
🛠️ রুবি ফর্ম্যাটার কীভাবে ব্যবহার করবেন for ruby-formatter
১. আপনার রুবি কোড পেস্ট বা আপলোড করুন
📥 সরাসরি এডিটরে রুবি কোড পেস্ট করুন, অথবা একটি `.rb`, `.rake` বা `.gemspec` ফাইল ড্র্যাগ-এন্ড-ড্রপ করুন। টুলটি কন্টেন্ট পড়ে এবং ফর্ম্যাটিংয়ের জন্য প্রস্তুত করে।
২. ফর্ম্যাট বাটনে ক্লিক করুন
✨ **ফর্ম্যাট** চাপুন আপনার কোড Rufo-স্টাইল ফর্ম্যাটারে পাঠানোর জন্য। ইন্ডেন্টেশন, লাইন ব্রেক এবং স্পেসিং এক পাসে নরমালাইজ করা হয় যখন আসল লজিক সংরক্ষিত থাকে।
৩. ফলাফল পর্যালোচনা করুন
🔍 ফর্ম্যাট করা আউটপুট আপনার আসল রুবি কোডের সাথে তুলনা করুন। আপনি সামঞ্জস্যপূর্ণ ইন্ডেন্টেশন, পরিষ্কার ব্লক এবং আরও পাঠযোগ্য মেথড এবং কন্ডিশনাল দেখতে পাবেন।
৪. কপি বা ডাউনলোড করুন
📤 একবার সন্তুষ্ট হলে, ফর্ম্যাট করা কোড আপনার এডিটরে ফিরে কপি করুন বা এটি একটি ফাইল হিসেবে ডাউনলোড করুন। এটি কমিট, পুল রিকোয়েস্ট বা প্রোডাকশন ডেপ্লয়মেন্টের জন্য প্রস্তুত।
প্রযুক্তিগত বিবরণ
ফর্ম্যাটিং ইঞ্জিন ও স্টাইল
ফর্ম্যাটার Rufo-স্টাইল, মতামতভিত্তিক রুবি ফর্ম্যাটিং নিয়ম অনুসরণ করে আপনার কোডবেস সামঞ্জস্যপূর্ণ এবং রিভিউতে স্ক্যান করা সহজ রাখতে।
| দিক | আচরণ | নোট |
|---|---|---|
| ইন্ডেন্টেশন | প্রতি স্তরে দুটি স্পেস | ট্যাবগুলি ইডিওম্যাটিক রুবি স্টাইলের সাথে মেলাতে স্পেসে নরমালাইজ করা হয়। |
| ব্লক ও do/end | সারিবদ্ধ এবং সামঞ্জস্যপূর্ণভাবে ইন্ডেন্টেড | নেস্টেড ব্লক (each, map, if, case) পাঠযোগ্য রাখতে সাহায্য করে। |
| হোয়াইটস্পেস | অতিরিক্ত স্পেস পরিষ্কার করে | অপারেটর, কমা এবং সিম্বলের চারপাশের স্পেস নরমালাইজ করে। |
| খালি লাইন | মেথড ও ক্লাসের মধ্যে মানসম্মত | কনসার্নের পৃথকীকরণ এবং ভিজুয়াল গ্রুপিং উন্নত করে। |
| ইডেমপোটেন্সি | একই ইনপুট → একই আউটপুট | ফর্ম্যাটার বারবার পুনরায় চালানো সবসময় নিরাপদ। |
সমর্থিত ইনপুট ও সীমাবদ্ধতা
বাস্তব বিশ্বের রুবি প্রকল্পের জন্য ডিজাইন করা হয়েছে: জেম, রেইলস অ্যাপ, স্ক্রিপ্ট এবং অভ্যন্তরীণ টুলিং।
| প্যারামিটার | সীমা / আচরণ | মন্তব্য |
|---|---|---|
| ফাইল এক্সটেনশন | .rb, .rake, .gemspec | সাধারণ রুবি সোর্স ফাইল, রেক টাস্ক এবং জেম স্পেসিফিকেশন। |
| MIME টাইপ | text/x-ruby | এডিটরকে রুবি ভাষা মোড এবং সিনট্যাক্স হাইলাইটিং নির্বাচনে সহায়তা করে। |
| সর্বোচ্চ ইনপুট আকার | ≈ 2 MB রুবি সোর্স | খুব বড় সোর্স বা ভেন্ডর বান্ডেলগুলি CLI এর মাধ্যমে স্থানীয়ভাবে পরিচালনা করা ভাল। |
| এনকোডিং | UTF-8 সুপারিশকৃত | লিগ্যাসি এনকোডিংয়ের জন্য, ফর্ম্যাট করার আগে UTF-8 এ রূপান্তর করুন। |
নিরাপত্তা ও এক্সিকিউশন
ফর্ম্যাটিং একটি সুরক্ষিত ব্যাকএন্ডে রুবি-সচেতন ফর্ম্যাটার ব্যবহার করে চলে।
| দিক | আচরণ | মন্তব্য |
|---|---|---|
| এক্সিকিউশন | ফর্ম্যাটারে নিরাপদ API কল | শুধুমাত্র সোর্স কোড এবং মৌলিক অপশনগুলি ফর্ম্যাটিং এন্ডপয়েন্টে পাঠানো হয়। |
| টাইমআউট | ≈ 25 সেকেন্ড | খুব দীর্ঘ বা প্যাথলজিকাল ইনপুট UI রেসপন্সিভ রাখতে বাতিল করা হয়। |
| সেমান্টিক্স | শুধুমাত্র লেআউট পরিবর্তন | ফর্ম্যাটারটি বৈধ রুবি কোডের আচরণ পরিবর্তন না করার জন্য ডিজাইন করা হয়েছে। |
রুবি ফর্ম্যাটিংয়ের জন্য কমান্ড লাইন বিকল্প
আপনার এডিটর, CI বা প্রি-কমিট হুকে একই স্টাইল চান? স্থানীয়ভাবে রুফো বা অন্যান্য রুবি ফর্ম্যাটার ব্যবহার করুন।
লিনাক্স / 🍎 macOS / 🪟 উইন্ডোজ
গ্লোবালি রুফো ইনস্টল করুন
gem install rufoআপনার রুবি এনভায়রনমেন্টে `rufo` এক্সিকিউটেবল যোগ করে।
একটি একক রুবি ফাইল ফর্ম্যাট করুন
rufo app/models/user.rbরুফো নিয়ম ব্যবহার করে ফাইলটি স্থানেই পুনর্লিখন করে।
একটি সম্পূর্ণ প্রকল্প ফরম্যাট করুন
rufo .বর্তমান ডিরেক্টরি ট্রিতে সমস্ত রুবি ফাইল পুনরাবৃত্তিমূলকভাবে ফরম্যাট করে।
প্রি-কমিট বা সিআই সহ
প্রি-কমিটের মাধ্যমে রুফো যোগ করুন
repos:
- repo: https://github.com/ruby-formatter/rufo
rev: v0.17.0
hooks:
- id: rufoপ্রতিটি কমিটের আগে স্বয়ংক্রিয়ভাবে রুফো চালায় (`.pre-commit-config.yaml`-এর জন্য YAML স্নিপেট)।
রুবি ফরম্যাটারের জন্য ব্যবহারিক ব্যবহারের ক্ষেত্র
রুবি অন রেইলস অ্যাপ্লিকেশন
কোড রিভিউের আগে কন্ট্রোলার, মডেল এবং জব পরিষ্কার করুন।
- একই রেইলস অ্যাপে কাজ করা একটি দলের মধ্যে শৈলী স্বাভাবিক করুন।
- পুল রিকোয়েস্ট খোলার আগে ফাইলগুলি স্বয়ংক্রিয়ভাবে ফরম্যাট করুন।
- দীর্ঘমেয়াদী পাঠযোগ্যতার জন্য স্ক্যাফোল্ডিং এবং জেনারেটর আউটপুট পরিপাটি করুন।
class UsersController < ApplicationController
def create
user = User.new(user_params)
if user.save
redirect_to user_path(user)
else
render :new
end
end
end
class UsersController < ApplicationController
def create
user = User.new(user_params)
if user.save
redirect_to user_path(user)
else
render :new
end
end
end
জেম, সিএলআই এবং অভ্যন্তরীণ টুল
জেম সোর্স, রেক টাস্ক এবং অভ্যন্তরীণ অটোমেশন স্ক্রিপ্ট পরিপাটি রাখুন।
- একটি জেম প্রকাশ করার আগে সামঞ্জস্যপূর্ণ শৈলী প্রয়োগ করুন।
- কোলাহলপূর্ণ রেক ফাইল এবং ডেপ্লয়মেন্ট স্ক্রিপ্ট পরিষ্কার করুন।
- অভ্যন্তরীণ সিএলআই টুলগুলিকে রক্ষণাবেক্ষণ এবং প্রসারিত করা সহজ করুন।
রুবি শেখানো ও শেখা
শৈলী নিয়ে বিতর্ক ছাড়াই শিক্ষার্থীদের দেখান কিভাবে অভিব্যক্তিপূর্ণ রুবি দেখতে।
- ফিডব্যাকের আগে শিক্ষার্থীদের জমাগুলি স্বয়ংক্রিয়ভাবে ফরম্যাট করুন যাতে আপনি যুক্তিতে ফোকাস করতে পারেন।
- "কাজ করে" এবং "পরিষ্কার" রুবির মধ্যে পার্থক্য প্রদর্শন করুন।
- কর্মশালায় দ্রুত উদাহরণ মানসম্মত করতে ফরম্যাটার ব্যবহার করুন。
numbers=[1,2,3]
nums.each do |n| puts n*n end
numbers = [1, 2, 3]
numbers.each do |n|
puts n * n
end
❓ Frequently Asked Questions
❓রুবি ফরম্যাটার কি আমার কোডের আচরণ পরিবর্তন করবে?
🧹এটি রুবোকপ বা স্ট্যান্ডার্ড থেকে কীভাবে আলাদা?
🔒এই টুলে প্রোডাকশন কোড পেস্ট করা কি নিরাপদ?
📂কোন রুবি সংস্করণগুলো সমর্থিত?
⚡ফর্ম্যাটিং কত দ্রুত?
Pro Tips
একটি পুল রিকোয়েস্ট খোলার আগে এই ফর্ম্যাটার ব্যবহার করুন যাতে রিভিউয়াররা স্পেসের পরিবর্তে লজিকের উপর ফোকাস করতে পারেন।
লেআউট এবং গভীর মানের সমস্যা উভয় কভার করতে রুবোকপ বা স্ট্যান্ডার্ডের মতো একটি লিন্টারের সাথে ফর্ম্যাটিং সংযুক্ত করুন।
বড় অটো-ফর্ম্যাটিং পাসের পর সর্বদা আপনার টেস্ট স্যুট চালান নিশ্চিত করতে যে সবকিছু সঠিকভাবে কাজ করছে।
জেমগুলির জন্য, সংস্করণ বাড়ানোর আগে ফর্ম্যাটিং প্রয়োগ করুন রিলিজগুলির মধ্যে শোরগোলপূর্ণ ডিফ এড়াতে।
Additional Resources
Other Tools
- সিএসএস সৌন্দর্যবর্ধক
- এইচটিএমএল সৌন্দর্যবর্ধক
- জাভাস্ক্রিপ্ট সৌন্দর্যবর্ধক
- পিএইচপি সৌন্দর্যবর্ধক
- রং নির্বাচক
- স্প্রাইট এক্সট্র্যাক্টর
- বেস৬৪ ডিকোডার
- বেস৬৪ এনকোডার
- সি-শার্প ফরম্যাটার
- সিএসভি ফরম্যাটার
- Dockerfile Formatter
- এলম ফরম্যাটার
- ইএনভি ফরম্যাটার
- গো ফরম্যাটার
- গ্রাফকিউএল ফরম্যাটার
- এইচসিএল ফরম্যাটার
- আইএনআই ফরম্যাটার
- জেসন ফরম্যাটার
- ল্যাটেক ফরম্যাটার
- মার্কডাউন ফরম্যাটার
- অবজেক্টিভসি ফরম্যাটার
- Php Formatter
- প্রোটো ফরম্যাটার
- পাইথন ফরম্যাটার
- রাস্ট ফরম্যাটার
- স্কালা ফরম্যাটার
- শেল স্ক্রিপ্ট ফরম্যাটার
- এসকিউএল ফরম্যাটার
- SVG ফরম্যাটার
- Swift ফরম্যাটার
- TOML ফরম্যাটার
- Typescript Formatter
- XML ফরম্যাটার
- YAML ফরম্যাটার
- Yarn ফরম্যাটার
- সিএসএস মিনিফায়ার
- Html Minifier
- Javascript Minifier
- জেসন মিনিফায়ার
- XML মিনিফায়ার
- এইচটিটিপি হেডার ভিউয়ার
- পিডিএফ থেকে টেক্সট
- রেজেক্স টেস্টার
- সার্প র্যাংক চেকার
- Whois লুকআপ