Skip to content

Hlkz/noggit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

=== LICENSE === This software is open source software licensed under GPL3, as found in the COPYING file.

=== CONTRIBUTORS === A list of known contributors can be found in the CONTRIBUTORS file. New maintainers should list themselves there as it is not automatically updated.

=== BUILDING === This project requires CMake to be built. It also requires the following libraries:

  • OpenGL
  • GLEW
  • Qt (4.8, Core, Gui, OpenGL)
  • storm (stormlib by Ladislav Zezula)
  • Boost
  • Lua (5.1)

Build in the following way. You may customize parameters to cmake. $ mkdir build $ cd build $ cmake .. $ make $ make install

=== DEVELOPMENT === Feel free to ask the owner of the official repository (https://bitbucket.org/berndloerwald/noggit3/) for write access or fork and post a pull request.

=== CODING GUIDELINES === Following is an example for file src/noggit/ui/foo_ban.h. .cpp files are similar.

// foo_ban.h is part of Noggit3, licensed via GNU General Publiicense (version 3). // First Lastname MAIL@ADDRESS

//! \note Include guard shall be the full path except for src/. #ifndef NOGGIT_UI_FOO_H #define NOGGIT_UI_FOO_H

//! \note Use fully qualified paths. Standard > external //! dependencies > own. #include <noggit/bar.h>

//! \note Namespaces equal directories. (java style packages.) namespace noggit { namespace ui { //! \note Lower case, underscore separated. Classes might have //! a _type suffix (even though being against the standard) class foo_ban : public QWidget { Q_OBJECT

   public:
     //! \note  Long  parameter  list.   Would  be  more  than  80
     //! chars.  Break  with comma  in  front.  Use  spaces to  be
     //! aligned below the braces.
     foo_ban ( const type& name
             , const type_2& name_2
             , const type& name3
             )
       : QWidget (NULL)
     //! \note Prefer initialization lists over assignment.
       , _var (name)
     {}

     //! \note Use const where possible. No space between name and
     //! braces when no arguments are given.
     void render() const;
     
     //! \note If you really need getters and setters, your design
     //! might be broken.
     const type& var() const
     {
       return _var;
     }
     //! \note One  might use setter chaining.  (just as operator=
     //! returns the assigned value)
     const type& var (const type& var_)
     {
       return _var = var_;
     }

     //! \note Prefer const (references) where possible.
     bazs_type count_some_numbers ( const size_t& begin
                                  , const size_t& end
                                  ) const
     {
       bazs_type bazs;

       //! \note  Prefer   construction  over  assignment.  Prefer
       //! preincrement.
       for (size_t it (begin); it < end; ++it)
       {
         bazs.push_back (it);
       }

       //! \note Prefer stl algorithms over hand written code.
       const bazs_type::const_iterator smallest
         (std::min_element (bazs.begin(), bazs.end()));

       return *smallest;
     }

   private:
     //! \note Member variables are prefixed with an underscore.
     type _var;
     //! \note  Typedef when  using complex  types.  Fully qualify
     //! types.
     typedef type_2 baz_type;
     typedef std::vector<baz_type> bazs_type;
     bazs_type _bazs;
   }
 }        

}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published