Relevant Developer Tutorials
Jump to navigation
Jump to search
Mudlet uses modern C++17 for the core functionality of the application.
For programming newbies
- C++ - covers everything C++ basics to advanced.
- Qt Discord - great server for help with coding in Qt.
For experienced programmers
- Pointers - the core basics of C++. While you can by without needing to know the details, you'll find it really, really useful if you do.
- C++11 - know how to make your life easier with modern C++11.
- C++11 Guide - fantastic guide on everything C++.
- emoji breakdown - everything to know about emojis, is useful to know when working with Mudlet's internal text editing classes.
Helpful tools
- Source Trail - get quick overview of an unfamiliar codebase (like Mudlet, if you're just joining here)
- draw.io - Draw and share diagrams online
- http://www.rexex101.com/ - test and explain your regular expressions online
- http://www.rexegg.com/regex-quickstart.html - a good little cheat sheet for regex
Support tools
- https://www.take-a-screenshot.org/ - for all OS, so users can show their problems with ease
- https://color-hex.org/ - Catalogue of colors in different styles, shades, gradients, etc. Very useful for UI design, etc.
Good reading
- catchchallenger wiki - C++, QString benchmarks.
- Effective Qt, Meeting C++ 2015 - tips for modern Qt regarding range-based for, QStrings, and the heap.
- How lambda's can improve your Qt code
- https://github.com/AnthonyCalandra/modern-cpp-features/blob/master/README.md - modern C++ features
- https://marcmutz.wordpress.com/effective-qt/containers/ - Qt's vs standard C++ containers.
- http://theory.stanford.edu/~amitp/GameProgramming/ - A* tips and tricks.
- https://www.reddit.com/r/cpp/comments/7kurp6/recommended_c_tools_for_linux_profiler_static/ - useful C++ tools that can run on Linux.
- https://www.divio.com/blog/documentation - Create 4 kinds of documentation, each serves a different purpose
Support communities
- C++
- tbd
- Qt
- Lua
- tbd
Random tips and tricks
Determine what auto resolves to with:
template <typename T> struct watzattype; void TriggerUnit::doCleanup() { for(auto & trigger : mCleanupList) { watzattype<decltype(trigger)>{};
Compiler will error and tell you the type, TTrigger*& in this example.