GetDunne Wiki

Notes from the desk of Shane Dunne, software development consultant

User Tools

Site Tools


modernizing_the_vanillajuce_code_base

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
modernizing_the_vanillajuce_code_base [2017/08/31 22:30]
shane
modernizing_the_vanillajuce_code_base [2017/09/01 19:35]
shane [Coding Practices]
Line 1: Line 1:
-==== Coding Practices ==== 
-  * [[Modernizing the VanillaJuce code base]] -- purging outdated practices in C++ code 
  
 ====== Modernizing the VanillaJuce code base ====== ====== Modernizing the VanillaJuce code base ======
Line 32: Line 30:
  
 ===== Outdated C syntax and library functions ===== ===== Outdated C syntax and library functions =====
-  * [[enum class rather than typedef enum]] +  * [[enum_class_rather_than_typedef_enum|C++11 "enum classrather than C "typedef enum"]] 
-  * [[sprintf and other standard library functions]] +  * [[eliminate_char_arrays|C++ string classes instead of char[] arrays]] 
-  * [[juce::String or std::string instead of arrays of char]] +  * [[constexpr instead of preprocessor define]]
-  * [[constexpr instead of #define]]+
  
 ===== Pointers and references ===== ===== Pointers and references =====
-  * [[avoid new/delete]] +  * [[Avoid new/delete, prefer references to pointers, use member variables for sub-Components]]
-  * [[pass references where possible]] +
-  * [[use member variables for subcomponents rather than pointers]]+
  
 ===== Newer C++ features and constructs ===== ===== Newer C++ features and constructs =====
   * [[Range-based for loops]]   * [[Range-based for loops]]
   * [[inline member variable initialization]]   * [[inline member variable initialization]]
-  * [[take advantage of established cast operators (foo("xyz") not foo(String("xyz")))]] 
  
  
modernizing_the_vanillajuce_code_base.txt · Last modified: 2017/09/01 19:49 by shane