Introduction
Ever felt that working with Object-Oriented Programming (OOP) in Python could use a bit more flair? A hint more automation, perhaps? Enter the Python OOP Companion!
What is Python OOP Companion?
It's a nifty plugin tailored for IDEs like Pycharm and IntelliJ. If you've been swimming in the Python OOP waters, this plugin is your lifeguard on duty (Available on Jetbrains Marketplace)
Why use another Pycharm plugin?
You might wonder, with all the tools available, why go for another? Well...
Synchronizing file and class names
Remember TypeScript, where file names are in sync with class names? Such synchronicity is often missing in Python. Python OOP Companion brings this harmony into the Python universe.
Interface validation in Pycharm
Who hasn't grumbled about the missing interface validation in Pycharm, especially with classes inheriting from abc.ABC? This plugin fills that gap beautifully.
The Development Journey
The backstory of any invention is as fascinating as the invention itself. Curious how this plugin came into existence?
The Birth of the Idea at Intenics Hackathon
Internal company hackathons at Intenics were the cradle of this plugin. On one such spirited event, the prototype of Python OOP Companion was born. It was raw, supported only a single class in a file, and had zero settings. But it was a promising start!
Iterative Improvement and Feedback Gathering
Another round of the Intenics Hackathon was dedicated to refining the plugin. Colleague feedback was the goldmine that helped prioritize features. The end goal? A polished, efficient, user-friendly tool.
Leveraging IntelliJ's Capabilities
When sculpting this masterpiece, the underlying IntelliJ features were the chisel and hammer. They played a pivotal role in bringing the envisioned features to life.
Setting Up the Plugin
Ready to harness the magic? Let's set you up!
Installation
Simply head over to the Jetbrains Marketplace and grab the plugin.
Configuration
Navigate to Settings -> Other Settings -> Python OOP Companion. It's crucial to add your exclusion rules and, if you have any, interface naming conventions. And... you're all set!
Delve into the Features
Every feature can be enabled/disabled in the plugins settings. Just choose whatever increases your productivity!
Keeping Files and Classes Synchronized
Gone are the days of manual renaming. This plugin keeps your file names in sync with the classes within.
Abstract Base Class (ABC) Functionality
Ensure all empty methods in your ABC are flagged with @abstractmethod. Consistency is key!
Embracing the "Interface"-based Architecture
Have a preferred Prefix or Suffix for naming Interface classes? Set it up! Make sure ABC classes have the proper Interface naming and inherit from ABC.
Excluding Paths from Validation
No more accidental validation of virtualenv, third-party code, or scripts. Exclude paths using strings, glob patterns, or even regex!
Conclusion
The Python OOP Companion is not just a plugin; it's the bridge to a smoother, efficient OOP experience in Python. It was crafted with care, molded with feedback, and perfected with IntelliJ's capabilities. So, why wait? Enhance your Python OOP journey today!
FAQs
- What IDEs is Python OOP Companion compatible with?
- It's tailored for Pycharm and IntelliJ.
- Where can I install the plugin?
- The Jetbrains Marketplace is your destination.
- How do I configure the plugin?
- Access Settings -> Other Settings -> Python OOP Companion in your IDE.
- Can I exclude specific paths from validation?
- Absolutely! Use strings, glob patterns, or regex to define exclusions.
- Is the plugin only for those who practice OOP in Python?
- While it's specifically designed for OOP, any Python developer can benefit from its features.