python-scala-idioms
Guide for writing idiomatic Scala when translating from Python. Use when the goal is not just syntactic translation but producing clean, idiomatic Scala code. Covers immutability, expression-based style, sealed hierarchies, and common Scala conventions.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Guide for writing idiomatic Scala when translating from Python. Use when the goal is not just syntactic translation but producing clean, idiomatic Scala code. Covers immutability, expression-based style, sealed hierarchies, and common Scala conventions.
How to use
Przygotuj kod Python, który chcesz przetłumaczyć na Scalę. Umiejętność działa najlepiej, gdy masz jasny cel — nie chodzi o dosłowny przekład, ale o przepisanie logiki w idiomatycznym stylu Scali.
Zapoznaj się z pięcioma głównymi zasadami: preferuj immutability (używaj val zamiast var), pisz kod oparty na wyrażeniach (wszystko powinno zwracać wartość), wykorzystuj system typów Scali, stosuj pattern matching zamiast łańcuchów if-else, oraz unikaj null — używaj Option, Either lub Try.
Dla każdej klasy lub funkcji z Pythona zastosuj zasadę immutability: zamiast modyfikować stan obiektu, zwracaj nowy obiekt ze zmienionymi wartościami. Przykład: zamiast self.count += 1, użyj copy(count = count + 1).
Zamień instrukcje warunkowe na pattern matching. Jeśli w Pythonie masz serię if-elif-else, w Scali napisz match expression, które jest bardziej czytelne i bezpieczne typowo.
Modeluj domeny za pomocą sealed hierarchies — zamiast sprawdzać stringi, zdefiniuj sealed trait z konkretnymi case classami dla każdego wariantu. To daje ci bezpieczeństwo kompilacji i wsparcie pattern matchingu.
Przejrzyj przetłumaczony kod pod kątem null — wszędzie, gdzie Python mógłby zwrócić None, użyj Scala Option. Gdzie mogą pojawić się błędy, rozważ Either lub Try zamiast wyjątków.