ABAP best practice list is a heritage of all ABAP developers around the globe. Feel free to join and add your wisdom via creating a pull request.
Many men, many minds. Some rules can be work differently for different people. We select new best practices directly of after discussion.
If you want to discuss some practice, please check existing issues with tag #discussion
or create a new issue when nothing found. Changes in practices without discussion will not be accepted (except of typos).
There are different meanings of "best practice" you can hear. In this project, we mean a "best practice" as a common rule and a better experience of doing something. It is not prohibited to not follow the best practice, but your code will be much better if you do.
However, not every common rule must be named a "best practice". For example, we will not include some guidelines from SAP Help (e.g. type conversion rules, zero division handling, etc.) because they are not common programming guidelines, they are more low-level and technical.
Also, we will not include some rules like comments in English, because, in reality, many companies are force programmers to write comments in the local language of a project.
That's it, not too low-level or technical and not too idealistic. Anyway, we'll discuss it.
To add a new best practice you have to:
- create an issue with a new best practice name and tag
#discussion
; - fork the repository;
- change
README.md
; - create a pull request assigned to the issue.
If there is a well-known or obvious rule, it will be merged soon. Otherwise, the decision will be made after discussion.
Provide a link to a public proof page (Documentation, SAP help or SAP blogs) when possible.
Please form the practice name in imperative form like "Use ..." or "Do ...".
If you want to apply a meaningful change to a best practice create an issue with tag #discussion
(or find existing one) and assign your pull request to it.
If you want to fix a typo or add a proof link you can just create a pull request.
If you find something wrong, please create an issue or a pull request. Are fixes and improvements are welcome.
Thanks everyone!