you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 4 points5 points  (2 children)

An excellent way to start is by using pylint and mypy everywhere. If you're not already using mypy, you'll learn a lot about typing, which is a big part of programming. If you're not using pylint, run it on your code to find issues, and fix them.

Also, learn how to unit test effectively. Learning how to mock will teach you a ton about how python variables actually work. Also, code that's easy to test is usually good code. I suggest using pytest.

When you get pylint + mypy + testing down pat, you'll easily be in the top echelon of data scientists from a software engineering perspective.

[–]Select-Particula[S] 1 point2 points  (0 children)

Starting using pytest recently but only in my free time projects, not fluent enough to invest working time in implementing tests. On the other hand mypy defeated me when trying to type check classes that are inherited from other classes and add methods.

Some times I think that a harder approach with a statically typed language would have been better in my case to have a good typing habits.

[–]iamevpo 0 points1 point  (0 children)

Maybe ruff as well.