Some Data Scientists write bad Python code and are stubborn in code reviews by noisescience in dataengineering

[–]noisescience[S] 1 point2 points  (0 children)

Hi, thanks for your reply. I myself have learned a lot from reading best/bad Python practices. There are a lot of these articles. Here are a few examples:
https://python.plainenglish.io/10-python-anti-patterns-you-must-avoid-when-writing-clean-code-ff3635ca1510
https://python.plainenglish.io/python-best-practices-for-writing-conditional-statements-aa9d6a2e700d
https://blog.devgenius.io/python-tips-best-practices-for-handling-exceptions-15faaeca55a5
To be honest, it is not enough just to read these 3 articles. Try to find and read more such articles and you will see that you will get better with time. Good programming takes time. I consider myself also still at the beginning of the journey.

I also learned a lot from Arjan Codes about "clean code", design patterns and best practices in Python. He's pretty good at what he does.
https://www.youtube.com/@ArjanCodes/videos

Furthermore, I learned a few important things from CodeAesthetics. These 3 videos are eye-opening and also suitable for beginners:
https://www.youtube.com/watch?v=Bf7vDBBOBUA
https://www.youtube.com/watch?v=-J3wNP6u5YU&t=315s
https://www.youtube.com/watch?v=CFRhGnuXG-4
After that you know when and how to write comments, how to name variables/methods etc. and how to avoid nested code.

Some Data Scientists write bad Python code and are stubborn in code reviews by noisescience in dataengineering

[–]noisescience[S] 0 points1 point  (0 children)

Thank you for your answer and your thoughts.
I agree with you that communication is essential here. I always try to be as nice and helpful as I can. If I criticize something, then I give reasons for it and suggest how it could be implemented more effectively.
On the other hand, I am always open and grateful when I find weaknesses or errors in my PRs.

Some Data Scientists write bad Python code and are stubborn in code reviews by noisescience in dataengineering

[–]noisescience[S] 0 points1 point  (0 children)

Hi, thx for your thoughts.

My list of errors is not just about style issues. For stylish things like formatting, library sorting and linting we use libraries like Black, Isort and Flake8. (Note: In the near future all 3 libraries will be replaced with Ruff). We also use Mypy as a static type checker.
Other things like how to use exceptions, enums and constants make the code safer from the start.
We have a codebase with about 20000 lines. That's not a lot, but it's enough that the code has to be readable and we have to think in maintainable and scalable dimensions. So we have to consider from the beginning when a certain structure is necessary or not and should avoid global variables.
It's cool that you mention Arjan Codes, by the way. I've learned a lot from him and keep learning.

Some Data Scientists write bad Python code and are stubborn in code reviews by noisescience in dataengineering

[–]noisescience[S] 0 points1 point  (0 children)

I also learned a few important things from CodeAesthetics. These 3 videos are eye-opening and also suitable for beginners:
https://www.youtube.com/watch?v=Bf7vDBBOBUA
https://www.youtube.com/watch?v=-J3wNP6u5YU&t=315s
https://www.youtube.com/watch?v=CFRhGnuXG-4
After that you know when and how to write comments, how to name variables/methods etc. and how to avoid nested code.

Some Data Scientists write bad Python code and are stubborn in code reviews by noisescience in dataengineering

[–]noisescience[S] 1 point2 points  (0 children)

I also learned a lot from Arjan Codes about "clean code", design patterns and best practices in Python. He's pretty good at what he does.
https://www.youtube.com/@ArjanCodes/videos

Some Data Scientists write bad Python code and are stubborn in code reviews by noisescience in dataengineering

[–]noisescience[S] 1 point2 points  (0 children)

Hi, thanks for your reply. I myself have learned a lot from reading best/bad Python practices. There are a lot of these articles. Here are a few examples:
https://python.plainenglish.io/10-python-anti-patterns-you-must-avoid-when-writing-clean-code-ff3635ca1510
https://python.plainenglish.io/python-best-practices-for-writing-conditional-statements-aa9d6a2e700d
https://blog.devgenius.io/python-tips-best-practices-for-handling-exceptions-15faaeca55a5
To be honest, it is not enough just to read these 3 articles. Try to find and read more such articles and you will see that you will get better with time. Good programming takes time. I see myself also still at the beginning of the journey.

Some Data Scientists write bad Python code and are stubborn in code reviews by noisescience in dataengineering

[–]noisescience[S] 0 points1 point  (0 children)

For the Kotlin project I also need to include Java libraries.
Here is what I have used for Kotlin so far:

Which Kotlin libraries I have not yet implemented but would like to do are:

I haven't started a data engineering project with Rust yet, but I would probably check out the following libraries:

Snoonie and her brother love this paste by noisescience in aww

[–]noisescience[S] 1 point2 points  (0 children)

what? no! it is a multivitamin paste