Project

General

Profile

Wiki » History » Version 13

Nicolas Aunai, 06/09/2016 07:57 AM

1 2 Nicolas Aunai
# LPP dev guide
2
3 13 Nicolas Aunai
4
## Kick Starter for efficient scientific coding
5
6
You will find here material to help you get started with your coding. Depending on whether you mostly do data analysis or numerical modeling, you'll need slightly different tools and methods. the advice we give you will help to be efficient, rigorous and to write code than you'll be able to use, maintain and share in the long run. Now remember, **If you're a PhD or a post-doc**, following these advice will not only help you improving the quality and reproducibility of your science, but also will make all your coding efforts **reusable** by people in the lab once you're gone, and more importantly will give you the basic knowledge you need to legitimately claim for a data science / computing science position in the private sector.
7
8
9
* [[kickstartercommandments| The commandments of programming]]
10
* [[kickstartercommon| Common tools and methodology]] you'll need to get started.
11
12
Now, what are **you** doing?
13
14
* You're mostly coding for [[dataanalysiskickstarter| data analysis]]
15
* You're mostly coding for [[numericalmodelingkickstarter| numerical modeling]]
16
17
18
19 5 Alexis Jeandet
## Setting up a clean Python environment
20
21
* [[Python_and_virtualenv| Python and virtualenv]]
22
23 2 Nicolas Aunai
24 6 Nicolas Aunai
## C++ development
25
26 9 Nicolas Aunai
*  [[cpplanguage| The C++ language]]
27 12 Nicolas Aunai
* [[designpatterns| Design Pattern]] in general and in C++
28 10 Nicolas Aunai
* [[CppGurus| C++ Gurus]]
29 6 Nicolas Aunai
30
31 11 Nicolas Aunai
## Code Design and Architecture
32 7 Nicolas Aunai
33 8 Nicolas Aunai
* [[solidprinciples| The S.O.L.I.D. principles]]
34 7 Nicolas Aunai
35
36 2 Nicolas Aunai
## Writing code
37
38 3 Nicolas Aunai
* [[codereview| Code review]]
39 4 Alexis Jeandet
* [[Useful_resources| Useful resources]]
40 6 Nicolas Aunai
41
42
## Documentation
43
44
* [[hyb-par: Documentationtools| Documentation Tools]]
45
*