সুইফট ফরম্যাটারের মূল বৈশিষ্ট্য
- সুইফট কোডে ইন্ডেন্টেশন, স্পেসিং এবং ব্রেসের **এক-ক্লিক ক্লিনআপ**
- *ইন্ডেন্ট সাইজ* স্লাইডারের মাধ্যমে **কনফিগারযোগ্য ইন্ডেন্ট সাইজ** (1–8 স্পেস)
- দীর্ঘ এক্সপ্রেশনগুলি আপনার পছন্দসই কলাম প্রস্থের মধ্যে রাখতে **র্যাপ / লাইন দৈর্ঘ্য** নিয়ন্ত্রণ
- স্ট্যান্ডার্ড `.swift` সোর্স ফাইল এবং পেস্ট করা স্নিপেট সমর্থন করে
- **iOS, macOS, watchOS, tvOS এবং সার্ভার-সাইড সুইফট** প্রকল্পের জন্য দুর্দান্ত
- পর্দার আড়ালে স্বাভাবিক সুইফট আউটপুটের জন্য SwiftFormat-স্টাইল ইঞ্জিন ব্যবহার করে
- ইডেম্পোটেন্ট ফরম্যাটিং - একাধিকবার চালালেও একই আউটপুট থাকে
- অ্যাকাউন্টের প্রয়োজন নেই - শুধু পেস্ট করুন, ফরম্যাট করুন এবং পরিষ্কার ফলাফল কপি করুন
🛠️ সুইফট ফরম্যাটার কীভাবে ব্যবহার করবেন for swift-formatter
১. আপনার সুইফট কোড পেস্ট বা আপলোড করুন
📥 সরাসরি এডিটরে সুইফট কোড পেস্ট করুন, অথবা একটি `.swift` ফাইল ড্র্যাগ-এন্ড-ড্রপ করুন। টুলটি সাধারণ এক্সকোড-স্টাইল সুইফট সোর্সের জন্য অপ্টিমাইজড।
২. ইন্ডেন্টেশন ও লাইন দৈর্ঘ্য সেট করুন
📏 **ইন্ডেন্ট সাইজ** স্লাইডার ব্যবহার করে প্রতিটি ইন্ডেন্টেশন লেভেলের জন্য কতগুলি স্পেস ব্যবহার করতে হবে তা নির্বাচন করুন, এবং **র্যাপ / লাইন দৈর্ঘ্য** কনফিগার করুন যাতে দীর্ঘ লাইনগুলি কোথায় মোড়ানো হবে তা নিয়ন্ত্রণ করতে পারেন (বা এটি `0` সেট করে র্যাপ-ভিত্তিক ফরম্যাটিং নিষ্ক্রিয় করতে পারেন)।
৩. "ফরম্যাট" ক্লিক করুন
⚡ **ফরম্যাট** বাটন টিপে SwiftFormat-স্টাইল নিয়ম প্রয়োগ করুন। ফরম্যাটারটি ইন্ডেন্টেশন, `:` এবং অপারেটরগুলির চারপাশের স্পেস স্বাভাবিক করে এবং আপনার সেটিংস অনুযায়ী দীর্ঘ লাইনগুলি মোড়ানো হয়।
৪. ফলাফল পর্যালোচনা এবং কপি করুন
🔍 মূল এবং ফরম্যাটেড সংস্করণগুলি তুলনা করুন। ফলাফলে সন্তুষ্ট হলে, ফরম্যাটেড সুইফটটি এক্সকোড, একটি সুইফট প্লেগ্রাউন্ড বা আপনার গিট কমিটে ফিরে কপি করুন।
প্রযুক্তিগত বিবরণ
ফরম্যাটিং ইঞ্জিন ও স্টাইল
টুলটি সাধারণ SwiftFormat কনভেনশনগুলি মিরর করে যাতে আপনার কোডবেস ফাইল এবং অবদানকারীদের মধ্যে সামঞ্জস্যপূর্ণ থাকে।
| দিক | আচরণ | মন্তব্য |
|---|---|---|
| ভাষা | সুইফট | সুইফট ৫+ সোর্স ফাইলগুলির সাথে সবচেয়ে ভাল কাজ করে। |
| ইন্ডেন্টেশন | কনফিগারযোগ্য স্পেস প্রতি লেভেল | **ইন্ডেন্ট সাইজ** অপশন দ্বারা নিয়ন্ত্রিত (১–৮)। |
| লাইন র্যাপিং | ঐচ্ছিক র্যাপ কলাম | **র্যাপ / লাইন দৈর্ঘ্য** দ্বারা নিয়ন্ত্রিত (০–১২০; `0` = র্যাপ নেই)। |
| হোয়াইটস্পেস | `:` এবং অপারেটরগুলির চারপাশে স্বাভাবিকীকৃত | পাঠযোগ্যতা এবং কোড রিভিউ জুড়ে সামঞ্জস্য উন্নত করে। |
| ইডেম্পোটেন্ট আউটপুট | একই ইনপুট → একই আউটপুট | ফরম্যাটিং ড্রিফট ছাড়াই একাধিকবার চালানোর জন্য নিরাপদ। |
সমর্থিত ইনপুট ও সীমাবদ্ধতা
অ্যাপল প্ল্যাটফর্ম এবং সার্ভার-সাইড সুইফট প্রকল্পগুলিতে ব্যবহৃত বাস্তব-বিশ্বের সুইফট সোর্স ফাইলগুলিতে ফোকাস করে।
| প্যারামিটার | মান / আচরণ | মন্তব্য |
|---|---|---|
| ফাইল এক্সটেনশন | .swift | স্ট্যান্ডার্ড Swift সোর্স ফাইল। |
| MIME টাইপ | text/x-swift | এডিটর এবং ড্রপজোন শনাক্তকরণের জন্য অভ্যন্তরীণভাবে ব্যবহৃত। |
| সর্বোচ্চ ইনপুট সাইজ | ≈ 2 MB সোর্স | খুব বড় ফাইলগুলো CI-তে স্থানীয় SwiftFormat এর মাধ্যমে ফরম্যাট করা ভালো। |
| আউটপুট এক্সটেনশন | .swift | ফরম্যাট করা কন্টেন্ট Swift সোর্স ফাইল হিসেবে সংরক্ষণ করা সর্বোত্তম। |
বৈধতা ও ত্রুটি
ফরম্যাটারটি ব্যাকরণগতভাবে বৈধ Swift আশা করে। ইনপুটটি অসম্পূর্ণ বা বড় সিনট্যাক্স ত্রুটি থাকলে, এটি ব্যর্থ হতে পারে বা ফরম্যাট করা আউটপুটের পরিবর্তে একটি ত্রুটি বার্তা দিতে পারে।
কমান্ড লাইন বিকল্পসমূহ SwiftFormat সহ
Xcode, CI বা প্রি-কমিট হুকে একই স্টাইল চান? সরাসরি SwiftFormat ব্যবহার করুন:
macOS (Homebrew)
Homebrew এর মাধ্যমে SwiftFormat ইনস্টল করুন
brew install swiftformatআপনার সিস্টেমে `swiftformat` CLI যোগ করে।
একটি Swift ফাইল ফরম্যাট করুন
swiftformat MyViewController.swiftডিফল্ট SwiftFormat নিয়ম ব্যবহার করে ফাইলটি রিরাইট করে।
সম্পূর্ণ Xcode প্রজেক্ট ফরম্যাট করুন
swiftformat .বর্তমান ডিরেক্টরিতে সমস্ত `.swift` ফাইল রিকার্সিভলি ফরম্যাট করে।
প্রজেক্ট-লেভেল কনফিগারেশন
কাস্টম কনফিগারেশন ব্যবহার করুন
swiftformat . --config .swiftformat`.swiftformat` কনফিগ ফাইলে সংরক্ষিত টিম-স্পেসিফিক নিয়ম প্রয়োগ করুন।
Git প্রি-কমিটের সাথে সংযুক্ত করুন
swiftformat . && git commitআপনার মেইন ব্রাঞ্চ পরিষ্কার রাখতে প্রতিটি কমিটের আগে SwiftFormat চালান।
Swift ফরম্যাটারের ব্যবহারিক ক্ষেত্রসমূহ
iOS & macOS অ্যাপ ডেভেলপমেন্ট
ফিচার ব্রাঞ্চ জুড়ে UIKit, SwiftUI এবং Combine-হেভি কোড পড়তে পারা এবং সামঞ্জস্যপূর্ণ রাখুন।
- কোড রিভিউ করার আগে ভিউ কন্ট্রোলার, ভিউ মডেল এবং সার্ভিসের ফরম্যাটিং মানসম্মত করুন।
- প্রোডাকশন টার্গেটে কপি করার আগে স্ক্র্যাচপ্যাড বা প্রোটোটাইপ Swift কোড পরিষ্কার করুন।
- জটিল SwiftUI ভিউ হায়ারার্কির ইন্ডেন্টেশন এবং র্যাপিং সারিবদ্ধ করুন।
struct ContentView: View {
var body: some View {
VStack {
Text("Hello")
Button("Tap me") {
print("Tapped")
}
}
}
}
সার্ভার-সাইড Swift (Vapor, Hummingbird, ইত্যাদি)
API হ্যান্ডলার এবং রাউটিং কোড স্ক্যান ও রিভিউ করা সহজ করুন।
- রুট এবং মিডলওয়্যার ডিক্লেয়ারেশন পুনরায় ফরম্যাট করুন যাতে জটিল চেইনগুলি অনুসরণ করা সহজ হয়।
- দীর্ঘ প্রপার্টি তালিকা সহ JSON এনকোডিং/ডিকোডিং স্ট্রাক্ট পরিষ্কার করুন।
- Swift কোডের ভিতরে দীর্ঘ SQL বা HTTP ক্লায়েন্ট কলের সামঞ্জস্যপূর্ণ র্যাপিং নিশ্চিত করুন。
app.get("hello") { req async throws -> String in
"Hello, world!"
}
Swift শেখানো ও শেখা
ছাত্রদের দেখান কিভাবে idiomatic Swift দেখতে হয় এবং অনুশীলনে "স্টাইল নয়েজ" কমায়।
- স্লাইড বা ডকুমেন্টেশনে উদাহরণ শেয়ার করার আগে Swift কোড স্বাভাবিক করুন।
- স্পেসিং এবং ইন্ডেন্টেশনের পরিবর্তে যুক্তিতে ফোকাস করতে ছাত্র জমাগুলি পরিষ্কার করুন।
- দেখান কিভাবে ভাল ফরম্যাটিং আচরণ পরিবর্তন না করে পাঠযোগ্যতা উন্নত করে।
func fibonacci(_ n: Int) -> Int {
if n < 2 { return n }
return fibonacci(n - 1) + fibonacci(n - 2)
}
❓ Frequently Asked Questions
❓এই Swift ফরম্যাটার আসলে কী পরিবর্তন করে?
📏আমি র্যাপ / লাইন দৈর্ঘ্যের জন্য কী বেছে নেব?
🧹এটি কি SwiftLint-এর প্রতিস্থাপন?
🔒এখানে প্রোডাকশন Swift কোড পেস্ট করা কি নিরাপদ?
⚡আমি কি প্রতিটি কমিটে স্বয়ংক্রিয়ভাবে এই ফরম্যাটার চালাতে পারি?
Pro Tips
আপনার দলের সাথে একটি **ইন্ডেন্ট সাইজ** এবং **র্যাপ / লাইন দৈর্ঘ্য** সম্মত হন, তারপর সেই মানগুলো এই টুলে এবং আপনার `.swiftformat` কনফিগারেশনে মিরর করুন।
কোড রিভিউগুলো স্পেসিং বিতর্কের পরিবর্তে লজিক এবং আর্কিটেকচারে ফোকাস রাখতে পুল রিকোয়েস্টে ফর্ম্যাটার চালান।
জেনারেটেড সুইফট কোডে (যেমন কোডজেন টুলস থেকে) ফর্ম্যাটার ব্যবহার করুন যাতে এটি আপনার হাতে লেখা কোডের মতো পরিষ্কার দেখায়।
দ্রুত স্থানীয় টুইকের জন্য শুধুমাত্র Xcode-এর "রি-ইন্ডেন্ট" এর সাথে এই ফর্ম্যাটারটি একত্রিত করুন; সত্যিকারের সামঞ্জস্যপূর্ণ স্টাইল বজায় রাখতে CI-তে SwiftFormat ব্যবহার করুন।
Additional Resources
Other Tools
- সিএসএস সৌন্দর্যবর্ধক
- এইচটিএমএল সৌন্দর্যবর্ধক
- জাভাস্ক্রিপ্ট সৌন্দর্যবর্ধক
- পিএইচপি সৌন্দর্যবর্ধক
- রং নির্বাচক
- স্প্রাইট এক্সট্র্যাক্টর
- বেস৬৪ ডিকোডার
- বেস৬৪ এনকোডার
- সি-শার্প ফরম্যাটার
- সিএসভি ফরম্যাটার
- Dockerfile Formatter
- এলম ফরম্যাটার
- ইএনভি ফরম্যাটার
- গো ফরম্যাটার
- গ্রাফকিউএল ফরম্যাটার
- এইচসিএল ফরম্যাটার
- আইএনআই ফরম্যাটার
- জেসন ফরম্যাটার
- ল্যাটেক ফরম্যাটার
- মার্কডাউন ফরম্যাটার
- অবজেক্টিভসি ফরম্যাটার
- Php Formatter
- প্রোটো ফরম্যাটার
- পাইথন ফরম্যাটার
- রুবি ফরম্যাটার
- রাস্ট ফরম্যাটার
- স্কালা ফরম্যাটার
- শেল স্ক্রিপ্ট ফরম্যাটার
- এসকিউএল ফরম্যাটার
- SVG ফরম্যাটার
- TOML ফরম্যাটার
- Typescript Formatter
- XML ফরম্যাটার
- YAML ফরম্যাটার
- Yarn ফরম্যাটার
- সিএসএস মিনিফায়ার
- Html Minifier
- Javascript Minifier
- জেসন মিনিফায়ার
- XML মিনিফায়ার
- এইচটিটিপি হেডার ভিউয়ার
- পিডিএফ থেকে টেক্সট
- রেজেক্স টেস্টার
- সার্প র্যাংক চেকার
- Whois লুকআপ