Loading…

সম্পর্কে অনলাইন রাস্ট ফর্ম্যাটার

আপনার রাস্ট কোড পেস্ট করুন, ইন্ডেন্ট সাইজ বা লাইন দৈর্ঘ্য সামঞ্জস্য করুন এবং "ফর্ম্যাট" ক্লিক করে মুহূর্তেই ইডিওম্যাটিক, রাস্টফর্ম্যাট-স্টাইল আউটপুট পান। ক্রেটস, এপিআই, মাইক্রোসার্ভিস, সিএলআই বা লার্নিং প্রজেক্টে কাজ করা রাস্টেসিয়ানদের জন্য পারফেক্ট। কোনো সাইনআপ নেই, কোনো কনফিগারেশন হেল নেই — শুধু ক্লিন রাস্ট।

কেন এই রাস্ট ফর্ম্যাটার ব্যবহার করবেন

  • ইডিওম্যাটিক রাস্ট কোডের জন্য রাস্টফর্ম্যাট-স্টাইল ফর্ম্যাটিং
  • সামঞ্জস্যযোগ্য ইন্ডেন্ট সাইজ এবং সর্বোচ্চ লাইন প্রস্থ (র‍্যাপ কলাম)
  • আইডেম্পোটেন্ট ফর্ম্যাটিং – একই ফাইল পুনরায় ফর্ম্যাট করলে একই ফলাফল পাওয়া যায়
  • শুধু লেআউট পরিবর্তন: ইন্ডেন্টেশন, স্পেসিং এবং লাইন ব্রেক, লজিক নয়
  • স্ট্যান্ডালোন `.rs` ফাইল এবং ক্রেট মডিউলের সাথে দুর্দান্ত কাজ করে
  • একটি সুরক্ষিত ফর্ম্যাটিং ব্যাকএন্ডের মাধ্যমে কোড প্রসেস করা হয় – কোনো পাবলিক শেয়ারিং বা ইনডেক্সিং নেই
  • প্রতিক্রিয়াশীল ইন্টারফেস যা ডার্ক/লাইট এডিটর থিমের সাথে ভালভাবে কাজ করে

🛠️ অনলাইনে রাস্ট কোড ফরম্যাট করার উপায় for rust-formatter

1

১. আপনার রাস্ট কোড পেস্ট বা আপলোড করুন

📥 আপনার রাস্ট কোড এডিটরে পেস্ট করুন অথবা আপনার প্রোজেক্ট থেকে একটি `.rs` ফাইল ড্র্যাগ-এন্ড-ড্রপ করুন। টুলটি রাস্ট সিনট্যাক্স শনাক্ত করে এবং সহজ পরিদর্শনের জন্য হাইলাইট করে।

2

২. ইন্ডেন্ট ও লাইন দৈর্ঘ্য সামঞ্জস্য করুন

📏 অপশন প্যানেল ব্যবহার করে আপনার **ইন্ডেন্ট সাইজ** (যেমন ২ বা ৪ স্পেস) এবং **র্যাপ লাইন দৈর্ঘ্য** (দীর্ঘ চেইন বা জটিল এক্সপ্রেশনের জন্য) নির্বাচন করুন। বিদ্যমান লাইন প্রস্থ রাখতে চাইলে র্যাপিং `0` এ সেট করুন।

3

৩. "ফরম্যাট" ক্লিক করুন

🚀 **ফরম্যাট** বাটনে ক্লিক করুন। আপনার কোড একটি rustfmt-স্টাইল ফরম্যাটারে পাঠানো হয়, যা বিহেভিয়ার পরিবর্তন না করে ইন্ডেন্টেশন, স্পেস, ব্ল্যাংক লাইন এবং র্যাপিং নরমালাইজ করে।

4

৪. রিভিউ, কপি বা ডাউনলোড করুন

📤 ফরম্যাট করার আগে/পরের তুলনা করুন, তারপর ফরম্যাটেড কোড আপনার এডিটরে কপি করুন অথবা ফলাফলটি `.rs` ফাইল হিসেবে ডাউনলোড করুন। `cargo build`, `cargo test` এবং কোড রিভিউর জন্য প্রস্তুত।

প্রযুক্তিগত বিবরণ

ফরম্যাটিং ইঞ্জিন ও স্টাইল

ফরম্যাটারটি rustfmt-স্টাইল, মতামতভিত্তিক ফরম্যাটিং অনুসরণ করে, তাই আপনার কোড ফাইল এবং কন্ট্রিবিউটর জুড়ে আদর্শ রাস্টের মতো দেখায়।

দিকআচরণনোট
ইন্ডেন্টেশনকনফিগারযোগ্য, সাধারণত প্রতি লেভেলে ২–৪ স্পেসঅনেক প্রোজেক্টে সাধারণ রাস্ট স্টাইলের সাথে মেলাতে ট্যাবগুলি স্পেসে নরমালাইজ করা হয়।
ব্রেস ও ব্লক`fn`, `impl`, `match`, `if`, `loop`... এর জন্য সামঞ্জস্যপূর্ণ প্লেসমেন্ট এবং ইন্ডেন্টেশননেস্টেড কন্ট্রোল-ফ্লো এবং ম্যাচ এক্সপ্রেশন পড়তে সহায়তা করে।
স্পেসিংঅপারেটর এবং যতিচিহ্নের চারপাশের অতিরিক্ত স্পেস পরিষ্কার করে`let`, `match`, ক্লোজার এবং জেনেরিক স্পেসিং স্ট্যান্ডার্ডাইজ করে।
খালি লাইনআইটেমের মধ্যে নরমালাইজ করা (ফাংশন, স্ট্রাক্ট, ইমপ্ল ব্লক)মডিউল এবং API সারফেসের ভিজুয়াল বিভাজন উন্নত করে।
ইডেমপোটেন্সিএকই ইনপুট → একই আউটপুট যখন ইতিমধ্যে ফরম্যাট করা থাকেফর্ম্যাটার পুনরায় চালানো সর্বদা নিরাপদ এবং স্থিতিশীল।

ইন্ডেন্ট সাইজ ও লাইন র‍্যাপিং

আপনি আপনার দলের রীতিনীতির সাথে মেলে ইন্ডেন্টেশনের প্রস্থ এবং র‍্যাপিং কাস্টমাইজ করতে পারেন।

সেটিংমানের পরিসরপ্রভাব
indentSize১–৮ স্পেসপ্রতিটি নেস্টেড ব্লক কতটা ইন্ডেন্টেশন যোগ করে তা নিয়ন্ত্রণ করে।
wrapLineLength = 0লাইন-দৈর্ঘ্য-ভিত্তিক র‍্যাপিং নেইআপনার বিদ্যমান লাইন প্রস্থ বজায় রাখে (দ্রুত সংশোধনের জন্য কার্যকর)।
wrapLineLength = ৮০–১০০সাধারণ রাস্ট দলের পছন্দঅত্যন্ত পাঠযোগ্য থাকার সময় কোড কমপ্যাক্ট রাখে।
wrapLineLength = ১০১–১২০আরও নমনীয় লেআউটঅতিবিস্তৃত মনিটর বা অনুসন্ধানমূলক কোডের জন্য ভাল।

সমর্থিত ইনপুট ও সীমাবদ্ধতা

দৈনন্দিন রাস্ট ডেভেলপমেন্ট ওয়ার্কফ্লোর জন্য তৈরি।

প্যারামিটারসীমা / আচরণমন্তব্য
ফাইল এক্সটেনশন.rsক্রেট, বাইনারি, মডিউল এবং উদাহরণের সোর্স ফাইল।
MIME টাইপtext/x-rustsrcসিনট্যাক্স হাইলাইটিং এবং এডিটর মোডের জন্য অভ্যন্তরীণভাবে ব্যবহৃত।
সর্বোচ্চ ইনপুট আকার≈ ২ MB রাস্ট সোর্সঅত্যন্ত বড় বা জেনারেটেড ফাইলগুলি আপনার মেশিনে `cargo fmt` এর মাধ্যমে ভালভাবে পরিচালনা করা উচিত।
এনকোডিংUTF-8 সুপারিশকৃতনন-UTF-8 ইনপুট ফর্ম্যাট করার আগে রূপান্তর করা উচিত।

এক্সিকিউশন ও নিরাপত্তা

ফর্ম্যাটিং একটি সুরক্ষিত ব্যাকএন্ডে রাস্ট-সচেতন ফর্ম্যাটার ব্যবহার করে কার্যকর করা হয়।

দিকআচরণমন্তব্য
পরিবহনফর্ম্যাটিং API-তে HTTPS অনুরোধআপনার কোড নিরাপদে প্রেরণ করা হয় এবং প্রকাশ্যে উন্মুক্ত নয়।
টাইমআউটপ্রতি অনুরোধে ~২৫ সেকেন্ডচরম বা ত্রুটিপূর্ণ ইনপুটগুলিতে কাজের অস্বাভাবিক বৃদ্ধি রোধ করে।
অর্থবিজ্ঞানশুধুমাত্র লেআউট রূপান্তরআপনার লজিক একই থাকে; শুধুমাত্র হোয়াইটস্পেস এবং লেআউট পরিবর্তন করা হয়।

rustfmt & cargo fmt CLI উদাহরণ

আপনার সম্পাদক, CI বা টার্মিনালে সরাসরি একই স্টাইল চান? স্থানীয়ভাবে `rustfmt` বা `cargo fmt` ব্যবহার করুন:

ক্রস-প্ল্যাটফর্ম (Rust টুলচেইনের মাধ্যমে)

সম্পূর্ণ ক্রেট ফর্ম্যাট করুন

cargo fmt

আপনার ক্রেটের সমস্ত `.rs` ফাইল `rustfmt.toml` অনুযায়ী rustfmt চালায়।

একটি একক ফাইল ফর্ম্যাট করুন

rustfmt src/main.rs

একটি ফাইলে rustfmt নিয়ম প্রয়োগ করে।

একটি কাস্টম সর্বোচ্চ প্রস্থ ব্যবহার করুন

rustfmt --config max_width=100 src/lib.rs

ডিফল্ট র‍্যাপিং কলাম ওভাররাইড করে (এই টুলের র‍্যাপ লাইন দৈর্ঘ্যের অনুরূপ)।

আপনার CI এবং প্রি-কমিট হুকগুলিতে `cargo fmt` যোগ করুন যাতে প্রতিটি কমিট দলের মধ্যে সামঞ্জস্যপূর্ণভাবে ফর্ম্যাটেড থাকে।

রাস্ট ফর্ম্যাটারের সাধারণ ব্যবহারের ক্ষেত্র

ক্রেট ও লাইব্রেরি ডেভেলপমেন্ট

আপনার পাবলিক ক্রেট, অভ্যন্তরীণ লাইব্রেরি এবং মাইক্রোসার্ভিস পরিষ্কার ও সামঞ্জস্যপূর্ণ রাখুন।

  • crates.io-তে প্রকাশ করার আগে ফর্ম্যাটিং স্বাভাবিক করুন।
  • একাধিক ডেভেলপারের অবদান দৃশ্যত সামঞ্জস্যপূর্ণ করুন।
  • বড় রিফ্যাক্টর চালান এবং তারপর লেআউট পরিষ্কার করতে স্বয়ংক্রিয়ভাবে ফর্ম্যাট করুন।
pub fn add(a: i32,b:i32)->i32{a+b}
pub fn add(a: i32, b: i32) -> i32 {
    a + b
}

CLI টুলস ও অটোমেশন

সংক্ষিপ্ত, রক্ষণাবেক্ষণযোগ্য CLI টুলস, স্ক্রিপ্ট এবং ডেভ ইউটিলিটি ফর্ম্যাট করুন।

  • আর্গুমেন্ট পার্সিং এবং ত্রুটি হ্যান্ডলিং ব্লক পড়া যায় এমন রাখুন।
  • দীর্ঘ `match` চেইন এবং অপশন হ্যান্ডলিং পরিষ্কার করুন।
  • নিশ্চিত করুন যে অভ্যন্তরীণ টুলিং সময়ের সাথে সাথে প্রসারিত করা সহজ থাকে।

রাস্ট শেখা ও শেখানো

স্টাইল নিয়ে বিতর্ক ছাড়াই শিক্ষার্থীদের আদর্শ রাস্ট দেখান।

  • স্লাইড বা টিউটোরিয়ালে শেয়ার করার আগে উদাহরণ ফরম্যাট করুন।
  • সেরা অনুশীলন শেখানোর জন্য অগোছালো বনাম ফরম্যাট করা Rust তুলনা করুন।
  • লজিক পর্যালোচনা করার আগে ছাত্রদের জমা স্বয়ংক্রিয়ভাবে ফরম্যাট করুন।
fn fibonacci(n:u32)->u32{if n<2{n}else{fibonacci(n-1)+fibonacci(n-2)}}
fn fibonacci(n: u32) -> u32 {
    if n < 2 {
        n
    } else {
        fibonacci(n - 1) + fibonacci(n - 2)
    }
}

❓ Frequently Asked Questions

এই Rust ফরম্যাটার কি আমার কোডের আচরণ পরিবর্তন করবে?

লক্ষ্য হলো শুধুমাত্র লেআউট পরিবর্তন করা—ইন্ডেন্টেশন, স্পেসিং এবং লাইন ব্রেক—যখন বৈধ Rust কোডের শব্দার্থ অক্ষত থাকে। যেমনটি সর্বদা, বড় ফরম্যাটিং পাসের পরে আপনার পরীক্ষাগুলি চালানো উচিত, বিশেষত গুরুত্বপূর্ণ কোডবেসে।

📏আমি কীভাবে র‍্যাপ লাইন দৈর্ঘ্য নির্বাচন করব?

অনেক Rust দল ৮০ বা ১০০ অক্ষর ব্যবহার করে পড়ার যোগ্যতা এবং কমপ্যাক্টনেসের মধ্যে একটি ভাল ভারসাম্য হিসেবে। আপনি এই টুলে ০ থেকে ১২০ এর মধ্যে যেকোনো মান বেছে নিতে পারেন। সবচেয়ে গুরুত্বপূর্ণ অংশ হলো একটি মান নির্বাচন করা এবং আপনার প্রকল্প জুড়ে এটি সামঞ্জস্যপূর্ণভাবে ব্যবহার করা।

🧹ফরম্যাটার কি ট্রেইলিং হোয়াইটস্পেস সরিয়ে দেয়?

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

🔒এখানে প্রোডাকশন Rust কোড ফরম্যাট করা কি নিরাপদ?

আপনার কোড নিরাপদে একটি ফরম্যাটিং ব্যাকএন্ডে প্রেরণ করা হয় এবং প্রকাশিত বা সূচিবদ্ধ হয় না। তা সত্ত্বেও, অত্যন্ত সংবেদনশীল বা মালিকানাধীন সিস্টেমের জন্য, আপনি আপনার নিজস্ব ইনফ্রাস্ট্রাকচারে `rustfmt` বা `cargo fmt` চালানো পছন্দ করতে পারেন।

⚙️এটি rustfmt এবং cargo fmt এর সাথে কীভাবে সম্পর্কিত?

এই অনলাইন ফরম্যাটার rustfmt-এর আচরণ মেলানোর লক্ষ্য রাখে যাতে আপনি ফরম্যাটিং প্রোটোটাইপ করতে পারেন এবং তারপর আপনার সম্পূর্ণ কোডবেসের জন্য স্থানীয়ভাবে বা CI-তে `cargo fmt`-এর উপর নির্ভর করতে পারেন। সেরা ফলাফলের জন্য আপনার `rustfmt.toml` সেটিংস এখানে ব্যবহৃত বিকল্পগুলির সাথে সামঞ্জস্য করুন।

Pro Tips

Best Practice

আপনার ক্রেটের রুটে একটি `rustfmt.toml` যোগ করুন যাতে স্থানীয় `cargo fmt` এবং এই অনলাইন ফরম্যাটার প্রস্থ এবং ইন্ডেন্টেশনে সামঞ্জস্যপূর্ণ থাকে।

CI Tip

এই টুলটিকে একটি CI জবের সাথে একত্রিত করুন যা `cargo fmt -- --check` চালায় যাতে আনফরম্যাটেড কোড আপনার মেইন ব্রাঞ্চে ল্যান্ডিং থেকে প্রতিরোধ করা যায়।

Best Practice

বড় রিফ্যাক্টরের আগে একটি নির্দিষ্ট ফরম্যাটিং কমিট (বা PR) চালান যাতে ভবিষ্যতের ডিফগুলি বাস্তব লজিক পরিবর্তনের উপর ফোকাস করে।

Best Practice

শিক্ষাদান এবং ডকুমেন্টেশনের জন্য ছোট লাইন দৈর্ঘ্য (৮০–৯০) ব্যবহার করুন; অভ্যন্তরীণ টুলে কিছুটা প্রশস্ত করুন যদি আপনার দল এটি পছন্দ করে।

Additional Resources

Other Tools