Scalafmt এবং Scalastyle হল দুটি স্কালা কোড ফরম্যাটিং এবং স্টাইল চেকিং টুল, যা কোডের গুণগত মান বজায় রাখার জন্য ব্যবহৃত হয়। এই টুলগুলি আপনাকে স্কালা কোডের স্টাইল এবং ফরম্যাটিংয়ে সামঞ্জস্য বজায় রাখতে সাহায্য করে, যা কোডের পড়াশোনা এবং রক্ষণাবেক্ষণ সহজ করে তোলে।
১. Scalafmt
Scalafmt হল একটি কোড ফরম্যাটিং টুল যা স্কালা কোড ফরম্যাট করার জন্য ব্যবহৃত হয়। এটি কোডের সঙ্গতিপূর্ণ ফরম্যাটিং নিশ্চিত করতে সহায়তা করে, যাতে কোডটি আরও পরিষ্কার এবং পড়তে সুবিধাজনক হয়।
Scalafmt বৈশিষ্ট্য:
- আটোমেটিক ফরম্যাটিং: Scalafmt কোডের সঙ্গতিপূর্ণ ফরম্যাটিং করতে স্বয়ংক্রিয়ভাবে কাজ করে। কোডে ভুল ফরম্যাটিং থাকলে এটি তা ঠিক করে।
- কাস্টম কনফিগারেশন: Scalafmt ব্যবহারকারীদের জন্য কাস্টম ফরম্যাটিং কনফিগারেশন প্রদান করে, যা ডেভেলপারদের দলের স্টাইল অনুযায়ী কোড ফরম্যাট করতে সহায়ক।
- মাল্টি-লাইন কোড ফরম্যাটিং: Scalafmt মাল্টি-লাইন স্টেটমেন্টগুলিকে সুন্দরভাবে ফরম্যাট করে।
- সহজ এক্সটেনশন: Scalafmt প্লাগইন এবং এক্সটেনশন ব্যবহার করে IDE যেমন IntelliJ IDEA এবং Visual Studio Code-এ সহজে কাজ করতে পারে।
Scalafmt সেটআপ
Scalafmt ডিপেন্ডেন্সি যোগ করা:
আপনি আপনার স্কালা প্রোজেক্টে Scalafmt যোগ করতে পারেনbuild.sbtফাইলের মাধ্যমে:addSbtPlugin("com.geirsson" % "sbt-scalafmt" % "2.4.2")কনফিগারেশন ফাইল তৈরি করা:
Scalafmt কনফিগারেশন ফাইল (.scalafmt.conf) তৈরি করে আপনি আপনার কোড ফরম্যাটিং নিয়ম নির্ধারণ করতে পারেন:# .scalafmt.conf version = "2.7.5" maxColumn = 120 align = mostএখানে:
version: Scalafmt এর সংস্করণ উল্লেখ করা।maxColumn: কোড লাইনের সর্বোচ্চ দৈর্ঘ্য।align: ফরম্যাটিংতে কি ধরণের alignment পছন্দ করবেন।
Scalafmt চালানো:
Scalafmt চালানোর জন্য সিম্পলি sbt ব্যবহার করা যায়:sbt scalafmt
এটি আপনার কোড ফরম্যাট করবে এবং যে কোনো ভুল ফরম্যাটিং ঠিক করবে।
২. Scalastyle
Scalastyle হল একটি কোড স্টাইল চেকার টুল, যা স্কালা কোডের স্টাইল এবং কোড স্ট্যান্ডার্ড বজায় রাখে। এটি নিশ্চিত করে যে কোড স্টাইল গাইডলাইন মেনে চলছে এবং স্টাইল সম্পর্কিত কোনো ত্রুটি থাকলে তা চিহ্নিত করতে সাহায্য করে।
Scalastyle বৈশিষ্ট্য:
- স্টাইল চেকিং: Scalastyle কোডে স্টাইল ভলিডেশন বা চেক করতে সহায়তা করে, যেমন ইনডেন্টেশন, লাইনের দৈর্ঘ্য, এবং কাস্টম স্টাইল রুলস।
- কাস্টম স্টাইল গাইডলাইনস: Scalastyle আপনার নিজস্ব কাস্টম স্টাইল গাইডলাইনস প্রণয়ন এবং প্রয়োগ করতে সহায়তা করে।
- সহজ কনফিগারেশন: Scalastyle একটি XML কনফিগারেশন ফাইল ব্যবহার করে, যার মাধ্যমে আপনি নির্দিষ্ট নিয়মাবলী নির্ধারণ করতে পারেন।
Scalastyle সেটআপ
Scalastyle ডিপেন্ডেন্সি যোগ করা:
Scalastyle সঠিকভাবে কাজ করতে, এটি আপনারbuild.sbtফাইলে যুক্ত করতে হবে:addSbtPlugin("org.scalastyle" % "sbt-scalastyle" % "1.0.0")কনফিগারেশন ফাইল তৈরি করা:
Scalastyle কনফিগারেশন ফাইল সাধারণতscalastyle-config.xmlনামে রাখা হয়। এই ফাইলের মধ্যে আপনি কোডের স্টাইল এবং চেকিং নিয়ম লিখবেন। উদাহরণস্বরূপ:<scalastyle> <check level="error" class="org.scalastyle.file.FileLengthChecker" maxFileLength="2000"/> <check level="error" class="org.scalastyle.scalariform.IndentationChecker" /> <check level="error" class="org.scalastyle.scalariform.LineLengthChecker" maxLength="120"/> </scalastyle>এখানে:
FileLengthChecker: ফাইলের সর্বোচ্চ দৈর্ঘ্য চেক করা হবে।IndentationChecker: ইনডেন্টেশন চেক করা হবে।LineLengthChecker: লাইনের দৈর্ঘ্য চেক করা হবে।
Scalastyle চালানো:
Scalastyle চালাতে sbt ব্যবহার করতে পারেন:sbt scalastyleএটি সমস্ত কোড ফাইল চেক করবে এবং স্টাইল সম্পর্কিত কোনো ত্রুটি হলে রিপোর্ট করবে।
৩. Scalafmt এবং Scalastyle এর তুলনা
| বৈশিষ্ট্য | Scalafmt | Scalastyle |
|---|---|---|
| প্রধান উদ্দেশ্য | কোড ফরম্যাটিং | কোড স্টাইল চেকিং এবং ভ্যালিডেশন |
| কনফিগারেশন ফাইল | .scalafmt.conf | scalastyle-config.xml |
| কাস্টমাইজেশন | কোড ফরম্যাটিং নিয়ম কাস্টমাইজ করা যায় | কোড স্টাইল গাইডলাইনস কাস্টমাইজ করা যায় |
| প্রধান কাজ | কোড ফরম্যাট করা | কোড স্টাইল চেক করা |
| লাইব্রেরি | sbt-scalafmt | sbt-scalastyle |
৪. উপসংহার
- Scalafmt একটি কোড ফরম্যাটিং টুল যা কোডের সঙ্গতিপূর্ণ ফরম্যাটিং নিশ্চিত করে এবং SBT অথবা IDE প্লাগইন এর মাধ্যমে সহজেই ব্যবহৃত হতে পারে।
- Scalastyle একটি কোড স্টাইল চেকার, যা কোডে স্টাইল ভ্যালিডেশন করে, যাতে আপনার কোডে কোনো স্টাইল ত্রুটি না থাকে।
এই দুটি টুল একসাথে ব্যবহার করলে আপনি আপনার কোডের ফরম্যাটিং এবং স্টাইল সহজে স্ট্যান্ডার্ড রাখতে পারবেন, এবং কোডের গুণগত মান বজায় রাখতে সহায়তা করবে।
Read more