Wiki » History » Version 18
Nicolas Aunai, 01/01/2017 03:10 PM
1 | 2 | Nicolas Aunai | # LPP dev guide |
---|---|---|---|
2 | |||
3 | 13 | Nicolas Aunai | |
4 | 18 | Nicolas Aunai | ## Efficient scientific coding |
5 | 13 | Nicolas Aunai | |
6 | 17 | Nicolas Aunai | 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** for your future you and by people in the lab once you're gone. More importantly, it will give you the basic knowledge you need to legitimately claim for a data science / computing science position in the private sector. |
7 | 13 | Nicolas Aunai | |
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 | 17 | Nicolas Aunai | * I'm mostly coding for [[dataanalysiskickstarter| data analysis]] |
15 | * I'm mostly coding for [[numericalmodelingkickstarter| numerical modeling]] |
||
16 | 13 | Nicolas Aunai | |
17 | 17 | Nicolas Aunai | |
18 | |||
19 | 14 | Andrea Ciardi | ## Code review and analysis |
20 | 15 | Andrea Ciardi | ### Review |
21 | 13 | Nicolas Aunai | |
22 | 15 | Andrea Ciardi | [Code Review for Teams Too Busy to Review Code] (https://www.youtube.com/watch?v=1m3eRFeCInY) (youtube video) |
23 | [Nice tutorial on code review with Rhodecode](https://docs.rhodecode.com/RhodeCode-Enterprise/code-review/code-review.html) |
||
24 | 14 | Andrea Ciardi | |
25 | 15 | Andrea Ciardi | ### Analysis |
26 | 14 | Andrea Ciardi | |
27 | 15 | Andrea Ciardi | [CPP Check](http://cppcheck.sourceforge.net) |
28 | 14 | Andrea Ciardi | |
29 | ### Performance |
||
30 | |||
31 | 15 | Andrea Ciardi | Videos |
32 | 14 | Andrea Ciardi | |
33 | 1 | Alexis Jeandet | [Modern C++](https://www.youtube.com/watch?v=TJHgp1ugKGM) |
34 | 14 | Andrea Ciardi | |
35 | Optimizations |
||
36 | |||
37 | [Instruction tables](http://www.agner.org/optimize/instruction_tables.pdf) |
||
38 | 17 | Nicolas Aunai | |
39 | 13 | Nicolas Aunai | |
40 | 5 | Alexis Jeandet | ## Setting up a clean Python environment |
41 | |||
42 | * [[Python_and_virtualenv| Python and virtualenv]] |
||
43 | |||
44 | 1 | Alexis Jeandet | |
45 | ## C++ development |
||
46 | |||
47 | * [[cpplanguage| The C++ language]] |
||
48 | * [[designpatterns| Design Pattern]] in general and in C++ |
||
49 | * [[CppGurus| C++ Gurus]] |
||
50 | |||
51 | 15 | Andrea Ciardi | |
52 | ## Courses |
||
53 | |||
54 | These are useful links to check out regularly |
||
55 | |||
56 | PRACE training: https://events.prace-ri.eu/category/2/ |
||
57 | |||
58 | Catalogue of courses: http://formation-calcul.fr/ |
||
59 | |||
60 | Formation IDRIS: https://cours.idris.fr/php-plan/affiche_planning.php?total |
||
61 | 6 | Nicolas Aunai | |
62 | 11 | Nicolas Aunai | ## Code Design and Architecture |
63 | 7 | Nicolas Aunai | |
64 | 8 | Nicolas Aunai | * [[solidprinciples| The S.O.L.I.D. principles]] |
65 | 7 | Nicolas Aunai | |
66 | |||
67 | 2 | Nicolas Aunai | ## Writing code |
68 | |||
69 | 3 | Nicolas Aunai | * [[codereview| Code review]] |
70 | 4 | Alexis Jeandet | * [[Useful_resources| Useful resources]] |
71 | 6 | Nicolas Aunai | |
72 | |||
73 | ## Documentation |
||
74 | |||
75 | * [[hyb-par: Documentationtools| Documentation Tools]] |
||
76 | 16 | Nicolas Aunai | |
77 | ## Dev Dej games |
||
78 | |||
79 | 1 - show me your snippet |
||
80 | 2 - explique à ton voisin |
||
81 | 3 - montre nous ton blog préféré |
||
82 | 4 - pull me quizz |
||
83 | 5 - sell me (some features of ) your editor |
||
84 | 6 - critic my code |
||
85 | 7 - show me a youtube video |
||
86 | 8 - optimize my snippet |
||
87 | 9 - translate my code |
||
88 | 10 - Ze lib of Ze Week |