Loading…

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

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

কেন আমাদের স্কালা ফরম্যাটার ব্যবহার করবেন

  • মুহূর্তেই আনস্ট্রাকচার্ড বা মিস্যালাইনড স্কালা কোড ফরম্যাট করুন
  • টাইপ, প্যারামিটার এবং অপারেটরগুলির চারপাশের স্পেসিং ঠিক করুন
  • ক্লাস, অবজেক্ট, ট্রেইট এবং মেথডগুলির জন্য ব্রেস স্টাইল নরমালাইজ করুন
  • দীর্ঘ এক্সপ্রেশন এবং মেথড চেইনগুলির জন্য স্কালাফম্ট-স্টাইল লাইন র্যাপিং প্রয়োগ করুন
  • `.scala`, `.sc` স্ক্রিপ্ট এবং `.sbt` বিল্ড ফাইল সমর্থন করে
  • কোড একটি সুরক্ষিত ব্যাকএন্ডের মাধ্যমে ফরম্যাট করা হয় – শেয়ার বা ইনডেক্সড হয় না
  • রেসপন্সিভ এডিটর UI যা ল্যাপটপ, ডেস্কটপ এবং ট্যাবলেটে কাজ করে

🛠️ কিভাবে অনলাইনে Scala কোড ফরম্যাট করবেন for scala-formatter

1

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

📥 আপনার Scala কোড এডিটরে পেস্ট করুন অথবা একটি `.scala`, `.sc`, বা `.sbt` ফাইল ড্র্যাগ-এন্ড-ড্রপ করুন। এডিটর Scala সিনট্যাক্স হাইলাইটিং প্রয়োগ করে যাতে আপনি দ্রুত আপনার কোড স্ক্যান করতে পারেন।

2

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

⚙️ **ফরম্যাট** বাটনে ক্লিক করুন। আপনার কোড HTTPS-এর মাধ্যমে একটি scalafmt-স্টাইল ফরম্যাটারে পাঠানো হয় যা সেমান্টিক্স পরিবর্তন না করে হোয়াইটস্পেস, ইন্ডেন্টেশন এবং লাইন ব্রেক পুনর্বিন্যাস করে।

3

3. ফলাফল পর্যালোচনা করুন

🔍 পরিষ্কার করা সংস্করণটি আপনার মূলের সাথে তুলনা করুন। ব্রেস, স্পেসিং এবং ব্ল্যাংক লাইন স্বাভাবিক করা হয় যাতে আপনার কোডের গঠন অনুসরণ করা সহজ হয়।

4

4. কপি বা ডাউনলোড করুন

📤 ফরম্যাট করা Scala কোড আপনার IDE-তে ফিরে কপি করুন, অথবা কমিট, কোড রিভিউ বা ডেপ্লয়মেন্টের জন্য প্রস্তুত একটি `.scala` ফাইল হিসেবে ডাউনলোড করুন।

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

স্টাইলিং আচরণ (Scalafmt-স্টাইল)

ফরম্যাটার সাধারণ scalafmt কনভেনশন প্রতিফলিত করার লক্ষ্য রাখে যাতে আপনার কোড আধুনিক Scala প্রকল্পগুলিতে স্বাভাবিক দেখায়।

দিকআচরণনোট
ইন্ডেন্টেশন ও ব্রেস`class`, `object`, `trait`, `def`, `if`, `match`, এবং `for`-এর জন্য সামঞ্জস্যপূর্ণ ইন্ডেন্টেশননেস্টেড কন্ট্রোল ফ্লো এবং প্যাটার্ন ম্যাচ পড়া সহজ করে।
টাইপ ও প্যারামিটার স্পেসিংকোলন, অ্যারো এবং প্যারামিটার লিস্টের চারপাশের স্পেস স্বাভাবিক করেউদাহরণস্বরূপ: `def f(x: Int): String` এর পরিবর্তে `def f(x:Int):String`।
ইম্পোর্ট ও প্যাকেজপ্যাকেজ এবং ইম্পোর্ট ব্লক গঠিত এবং সংজ্ঞা থেকে পৃথক রাখেফাইল জুড়ে নেভিগেশন এবং সামঞ্জস্য উন্নত করে।
খালি লাইনটপ-লেভেল সংজ্ঞার চারপাশের খালি লাইন মানসম্মত করেমডেল, সার্ভিস এবং হেল্পারের মতো যৌক্তিক বিভাগ আলাদা করে।
ইডেমপোটেন্সিএকাধিকবার ফরম্যাটিং চালালে একই ফলাফল পাওয়া যায়স্টাইল ড্রিফট ছাড়াই যতবার ইচ্ছা রিফরম্যাট করা নিরাপদ।

স্কালা ভার্সন সামঞ্জস্যতা

ফর্ম্যাটারটি স্কালা ২ এবং স্কালা ৩ সিনট্যাক্স উভয়ের জন্যই ডিজাইন করা হয়েছে।

ফিচারসাপোর্টনোটস
স্কালা ২.x✅ হ্যাঁইমপ্লিসিট, কম্প্যানিয়ন অবজেক্ট এবং ক্লাসিক ফর-কম্প্রিহেনশনের মতো সাধারণ প্যাটার্নগুলির সাথে কাজ করে।
স্কালা ৩ (ডট্টি)✅ হ্যাঁগিভেন/ইউজিং, এক্সটেনশন মেথড, এনাম এবং অন্যান্য স্কালা ৩ কনস্ট্রাক্ট বুঝতে পারে।
এসবিটি বিল্ড ফাইল✅ হ্যাঁবিল্ড এবং ডিপেন্ডেন্সি ডেফিনিশনে ব্যবহৃত `.sbt` ফাইল ফর্ম্যাট করে।

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

শুধুমাত্র ছোট স্নিপেট নয়, বাস্তব-বিশ্বের প্রজেক্ট ফাইলের জন্য অপ্টিমাইজড।

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

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

ফর্ম্যাটিং পাবলিক, থার্ড-পার্টি সার্ভিসের পরিবর্তে একটি প্রাইভেট, সুরক্ষিত ব্যাকএন্ডের মাধ্যমে সম্পাদিত হয়।

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

আপনার স্থানীয় ওয়ার্কফ্লোতে Scalafmt ব্যবহার করুন

সম্পূর্ণ নিয়ন্ত্রণ এবং রিপোজিটরি-ব্যাপী ফরম্যাটিংয়ের জন্য, scalafmt ইনস্টল করুন এবং এটি আপনার বিল্ড বা CI পাইপলাইনে সংহত করুন:

সার্বজনীন (sbt এর মাধ্যমে)

আপনার প্রকল্পে scalafmt যোগ করুন

addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2")

sbt প্লাগইন যোগ করে যাতে আপনি sbt শেল থেকে scalafmt চালাতে পারেন।

সমস্ত সোর্স ফরম্যাট করুন

sbt scalafmtAll

`.scalafmt.conf` ব্যবহার করে আপনার প্রকল্পের সমস্ত Scala এবং sbt ফাইল ফরম্যাট করে।

CI-তে ফরম্যাটিং পরীক্ষা করুন

sbt scalafmtCheckAll

ফাইলগুলি সঠিকভাবে ফরম্যাট না হলে বিল্ড ব্যর্থ হবে।

একটি `.scalafmt.conf` ফাইল কমিট করুন যাতে আপনার দল, CI এবং এডিটর ইন্টিগ্রেশনগুলি একই Scala স্টাইলে সারিবদ্ধ থাকে।

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

ব্যাকএন্ড এবং FP পরিষেবা

বৃহৎ Scala ব্যাকএন্ড এবং FP কোডবেসগুলি সামঞ্জস্যপূর্ণ এবং পর্যালোচনা করা সহজ রাখুন।

  • Akka, ZIO, Cats Effect, বা Play প্রকল্প জুড়ে স্টাইল মানসম্মত করুন।
  • পুল অনুরোধ খোলার আগে বা উদাহরণ শেয়ার করার আগে কোড পরিষ্কার করুন।
  • বড় রিফ্যাক্টর বা লাইব্রেরি মাইগ্রেশনের পরে ফরম্যাট স্বাভাবিক করুন।
object A{def main(args:Array[String]){println("hi")}}
object A {
  def main(args: Array[String]): Unit = {
    println("hi")
  }
}

Scala শেখা এবং শিক্ষাদান

স্পেসিং যুদ্ধের পরিবর্তে কার্যকরী ধারণা এবং প্রকারগুলিতে ফোকাস করুন।

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

বিল্ড এবং টুলিং স্ক্রিপ্ট

`.sbt` বিল্ড ফাইল এবং ছোট Scala স্ক্রিপ্টগুলি পরিপাটি রাখুন।

  • সহজ রক্ষণাবেক্ষণের জন্য sbt সেটিংস এবং নির্ভরতা ব্লক ফরম্যাট করুন।
  • মাইগ্রেশন বা অভ্যন্তরীণ টুলের জন্য ব্যবহৃত হেল্পার স্ক্রিপ্ট পরিষ্কার করুন।

❓ Frequently Asked Questions

Scalafmt কি এবং এই টুলটি এর সাথে কীভাবে সম্পর্কিত?

স্কালাফম্ট হল স্কালার জন্য স্ট্যান্ডার্ড কোড ফরম্যাটার। এই অনলাইন ফরম্যাটারটি স্কালাফম্ট-স্টাইলের আচরণ অনুসরণ করার লক্ষ্যে তৈরি করা হয়েছে, যাতে আপনি এখানে যে লেআউট দেখছেন তা আপনার নিজস্ব প্রকল্পে স্কালাফম্ট বা sbt-scalafmt চালালে যা পাবেন তার কাছাকাছি হয়।

🔧আমি কি এখানে সব স্কালাফম্ট নিয়ম কাস্টমাইজ করতে পারি?

এই টুলটি প্রতিটি স্কালাফম্ট নব এক্সপোজ করার পরিবর্তে একটি যুক্তিসঙ্গত, মতামতভিত্তিক প্রোফাইলে ফোকাস করে। সম্পূর্ণ নিয়ন্ত্রণের জন্য, আপনার প্রকল্পে একটি `.scalafmt.conf` ফাইল তৈরি করুন এবং sbt বা আপনার IDE এর মাধ্যমে স্কালাফম্ট চালান।

🌐এটি কি স্কালা ৩ সিনট্যাক্স সাপোর্ট করে?

হ্যাঁ। ফরম্যাটারটি ক্লাসিক স্কালা ২ কোডের পাশাপাশি এনাম, given/using, এক্সটেনশন মেথড এবং আরও অনেক কিছু সহ আধুনিক স্কালা ৩ ফিচার হ্যান্ডেল করার জন্য ডিজাইন করা হয়েছে।

🔒আমার স্কালা কোড কি একটি পাবলিক সার্ভারে পাঠানো হয়?

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

⚙️ফরম্যাটিং কি আমার স্কালা প্রোগ্রামের আচরণ পরিবর্তন করবে?

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

Pro Tips

Best Practice

আপনার রিপোতে একটি `.scalafmt.conf` ফাইল রাখুন যাতে আপনার এডিটর, CI এবং `sbt scalafmt` সব একই স্টাইল ব্যবহার করে।

Best Practice

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

Best Practice

আপনার টিম জুড়ে একটি সামঞ্জস্যপূর্ণ সর্বোচ্চ লাইন প্রস্থ ব্যবহার করুন যাতে কোলাহলপূর্ণ ডিফ এবং দ্বন্দ্বমূলক স্টাইল এড়ানো যায়।

Best Practice

শিক্ষাদানের সময়, প্রথমে অগোছালো স্কালা দেখান, তারপর ফরম্যাট করা সংস্করণ দেখান যাতে হাইলাইট করা যায় কিভাবে লেআউট পাঠযোগ্যতা উন্নত করে।

Additional Resources

Other Tools