Skip to content

Instantly share code, notes, and snippets.

@kariem2k
Forked from rmartinho/hate.markdown
Last active November 15, 2019 09:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kariem2k/f1dc3253959263622b8b to your computer and use it in GitHub Desktop.
Save kariem2k/f1dc3253959263622b8b to your computer and use it in GitHub Desktop.

Dear C++ library writer,

  1. If your library forces me to use new all over, I will hate you.

  2. If your library has types with bogus values, I will hate you.

  3. If the documentation for your library gets the terminology of its own domain wrong, I will hate you.

  4. If I say "My God, it's full of stars!" when I see the function signatures in your library, I will hate you.

  5. If your library uses #define instead of const or inline, I will hate you.

  6. If your library has a base class of everything, I will hate you.

  7. If your library has singletons, I will hate you.

  8. If you think you can use a tool to automatically translate a library from Java, I will hate you.

  9. If the classes in your library have such clear responsibilities that you call them "managers", I will hate you.

  10. If your library does not play nice with the standard library, I will hate you.

  11. If functions in your library return error codes instead of throwing exceptions, I will hate you.

  12. If your library has public members that are designed to be used only from internal code, I will hate you.

  13. If your library makes use of the global namespace, I will hate you.

  14. If your library has types traits that don't play nice with SFINAE, I will hate you.

@plqu
Copy link

plqu commented Nov 15, 2019

If your text editor interprets my text as "markdown" and changes what I type, I will hate you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment