Page MenuHomec4science

README
No OneTemporary

File Metadata

Created
Sun, Jan 12, 06:46
#===============================================================================
# @file README
# @author Nicolas Richart <nicolas.richart@epfl.ch>
# @date Thu Aug 5 10:01:52 2010
#
# @section LICENSE
#
# <insert license here>
#
#===============================================================================
Coding conventions
------------------
- Class : capitalized, no separator
→ MyClass
- Method : 1st word lower case, the other capitalized, no separator
→ myMethod()
- Variables : lower case, separator _, more than 3 letters except for loop counters
→ my_variable
- File names : lower case, separator , extension .hh .cc, same name as the class
→ my_class.hh
- Inline function : outside the class definition in headers
in a file called filename_inline_impl.hh and included in the header file
- Documentation comment : Doxygen
Help tools for emacs
--------------------
- to have doxygen comments you can use the doxymacs-mode
to add in the .emacs
* to auto load the mode in c/c++ files
(require 'doxymacs)
(add-hook 'c++-mode-hook 'doxymacs-mode)
(add-hook 'c-mode-hook 'doxymacs-mode)
* in the (custom-set-variables) add this lines to generate the files headers (C-c d i)
'(doxymacs-doxygen-style "JavaDoc")
'(doxymacs-file-comment-template (quote ("/**" > n " * " (doxymacs-doxygen-command-char) "file " (if (buffer-file-name) (file-name-nondirectory (buffer-file-name)) "") > n " * " (doxymacs-doxygen-command-char) "author " (user-full-name) (doxymacs-user-mail-address) > n " * " (doxymacs-doxygen-command-char) "date " (current-time-string) > n " *" > n " * " (doxymacs-doxygen-command-char) "brief " (p "Brief description of this file: ") > n " *" > n " * " (doxymacs-doxygen-command-char) "section LICENSE" > n " *" > n " * Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)" > n " * Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)" > n " *" > n " * Akantu is free software: you can redistribute it and/or modify it under the" > n " * terms of the GNU Lesser General Public License as published by the Free" > n " * Software Foundation, either version 3 of the License, or (at your option) any" > n " * later version." > n " *" > n " * Akantu is distributed in the hope that it will be useful, but WITHOUT ANY" > n " * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR" > n " * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more" > n " * details." > n " *" > n " * You should have received a copy of the GNU Lesser General Public License" > n " * along with Akantu. If not, see <http://www.gnu.org/licenses/>." > n " *" > n " */" > n > n "/* -------------------------------------------------------------------------- */" > n)))
- for the snippet code you can use yasnippet
some specific snippet files for akantu can be found in the *snippet/* directory
(require 'yasnippet)
(yas/initialize)
(yas/load-directory "~/.emacs.d/yasnippet/snippets")
(add-hook 'c++-mode-hook 'yas/minor-mode-on)
(add-hook 'c-mode-hook 'yas/minor-mode-on)
You need to copy the snippets for Akantu dev into the appropriate directory.
depending on your version of yasnippet the snippet directories are not arranged in the same way
c++-mode snippet
akantu (opening and closing akantu namespace)
inout (debug in/out for functions)
class (class declaration)
cc-mode snippet (common to c and c++)
once (define protection for .hh files)
for (for loop)
To know your orgnisation type have a look into /usr/share/emacs/site-lisp/yasnippet/snippets/
Then copy the the file provided in the doc directory either by:
cp -r /usr/share/emacs/site-lisp/yasnippet ~/.emacs.d/yasnippet
cp $AKANTU_DIR/doc/coding_convention/snippet/akantu ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/c++-mode/
cp $AKANTU_DIR/doc/coding_convention/snippet/inout ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/c++-mode/
cp $AKANTU_DIR/doc/coding_convention/snippet/class ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/c++-mode/
cp $AKANTU_DIR/doc/coding_convention/snippet/once ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/
cp $AKANTU_DIR/doc/coding_convention/snippet/for ~/.emacs.d/yasnippet/snippets/text-mode/cc-mode/
either by (TODO nico)

Event Timeline