PDA

Voir la version complète : Comment programmez vous ?


thoduv
09/04/2006, 11h34
Salut !

En ce moment j'ai l'impression de ne pas savoir programmer : mes projets partent n'importe comment et je me retrouve à ne plus savoir quoi faire.

Bref, j'aimerai savoir comment vous programmez ! Est-ce que vous codez direct, est-ce que vous faîtes de l'algo avant, comment vous organisez vos projets, etc : toutes vos habitudes de programmeur.

Allez, venez raconter ! :)

t4ils
09/04/2006, 13h01
je prends une idée, je la code dans ma tête pour le fonctionnement, et je commence mon programme directement

quand je vois que ça peut pas marcher, je revois comment je pourrais faire
et quand après 3h de codage je vois que ça pourra jamais marcher, je m'arrache les cheveux :)

tout ça sur ti83 bien sur ^^

birslip
09/04/2006, 13h09
Moi, à la base, c'est une idée (comme tout le monde je pense), puis je fais des recherches, je commence un peu à coder, si ça marche, je continue. Par contre si ça marche pas, je laisse tomber et, la plupart du temps j'y revient de temps à autre. Pour les jeux, là, je fais une bonne série de mockup, je regarde comment je pourrais coder tel ou tel truc, dès fois je commence à programmer, mais la plupart du temps ça fini dans les choux :lol:

RefiX
09/04/2006, 13h11
Rien ne vaut les logigrammes avant de coder quoi que ce soit :)

Yodajr
09/04/2006, 13h17
Moi avant de partir sur un truc, je reflechis aux problèmes éventuels et je me demande comment je pourrais faire ca (utiliser un tableau ? une structure ? etc....)
Et une fois que dans ma tête ca dit : "c'est faisable écoute" ben j'y go.
L'avantage c'est que sauf surprise, y'a rien qui m'empeche de finir, vu que j'ai déja balisé le tout dans ma tête.
Jamais essayé de coucher sur papier un algo quelconque... en même temps mes projets n'ont jamais été bien compliqués :ange:

yopyop
09/04/2006, 13h32
je prends une idée, je la code dans ma tête pour le fonctionnement, et je commence mon programme directement

quand je vois que ça peut pas marcher, je revois comment je pourrais faire
et quand après 3h de codage je vois que ça pourra jamais marcher, je m'arrache les cheveux :)

tout ça sur ti83 bien sur ^^

:w00t: Exactement la même chose!:w00t:

Sauf que je le fait sur PC :ph34r:

Treize
09/04/2006, 13h42
ça dépend, soit c'est plus ou moins simple et je part comme ça soit c'est plus complexe et là je réflechit au logigramme et je me fait des petits dessins.
Et plus tard des fois j'optimise un peu le fonctionnement et comme tout foire je supprime tout et je garde que la première version :lol:

Brunni
09/04/2006, 13h53
Moi avant de partir sur un truc, je reflechis aux problèmes éventuels et je me demande comment je pourrais faire ca (utiliser un tableau ? une structure ? etc....)
Et une fois que dans ma tête ca dit : "c'est faisable écoute" ben j'y go.
L'avantage c'est que sauf surprise, y'a rien qui m'empeche de finir, vu que j'ai déja balisé le tout dans ma tête.
Jamais essayé de coucher sur papier un algo quelconque... en même temps mes projets n'ont jamais été bien compliqués :ange:
Complètement pareil :w00t:
Au moins y'a des rebondissements avec ça, tu rencontres des difficultés mais tu sais toujours que c'est possible ^^
D'ailleurs c'est sûrement de là que vient l'amertume de yopyop, quand tu fais un projet très compliqué si tu bloques quelque part t'as plus personne pour t'aider, alors tu passes des journées sur des trucs tous cons qu'au final personne ne remarque :ph34r:

Dr.Vince
09/04/2006, 14h15
bah ça dépend de ce que tu fais :
pour les jeux moi j'ai fait que des portages, alors y a une grosse phase d'analyse du jeu d'origine.
Après je code et je remanie souvent le code car plus t'avance et plus tu te rends compte que tu peux mutualiser certaines partie du code ou bien optimiser 2-3 bricoles

pour un gros projet rien ne vaut une bonne phase d'analyse mais faut vraiment que ce soit un gros projet. Pour les homebrews ça vaut pas le coup

Mais dans tous les cas, quand je code, je code d'abord les commentaires et ensuite je met le bon code pour faire ce que ça doit faire. ça marche plutôt bien comme ça et ça permet de pas se paumer quand tu code une fonction avec un algo compliqué

yopyop
09/04/2006, 14h22
Je vais pas polluer ce post y a déjà le mien pour ça. ;) (un ému c’est pas si gros que ça suffit de faire la différence entre les 2 versions des sources et tu verras qu’elles ne sont pas énormes)

Sinon on dit tous plus ou moins la même chose mais différemment.

yopyop

mastertop101
09/04/2006, 15h42
Mal. :p

Smealum
09/04/2006, 16h15
Moi, je programme mal.
C'est simple, j'ai une idée, et j'essaie d'imaginer si c'est possible ou pas.La plupart du temps j'arrive à la conclusion que oui, et alors je commence un projet comme un bourrin.
Aucune organisation dans les sources aussi, je m'y perds souvent :lol:
D'ailleurs, les 3/4 du temps je me rends compte quand je suis à la moitié du projet que vu mon niveau je ne peux pas y arriver, même si c'est faisable et j'abandonne...

Jack
09/04/2006, 16h25
Moi, je programme mal.
C'est simple, j'ai une idée, et j'essaie d'imaginer si c'est possible ou pas.La plupart du temps j'arrive à la conclusion que oui, et alors je commence un projet comme un bourrin.
Aucune organisation dans les sources aussi, je m'y perds souvent :lol:
D'ailleurs, les 3/4 du temps je me rends compte quand je suis à la moitié du projet que vu mon niveau je ne peux pas y arriver, même si c'est faisable et j'abandonne...

Modestie quand tu nous tiens :
http://www.playeradvance.org/forum/showthread.php?t=122

birslip
09/04/2006, 16h33
Suffit de voir les sou (http://jvteamds.free.fr/EI/sources-1.0-beurk.rar)rces de EI pour se rendre compte de la super organisation de smealum, l'organisation en mono-fichier :p

Jack
09/04/2006, 16h38
Moi ca me parle pas trop (je code pas), mais vu le resultat, si les sources sont "mal organisées" en mono-fichier, ben l'organisation dans sa tête compense le truc.
Avec la PA lib, on code comme on aime...

Smealum
09/04/2006, 16h51
Ben moi, un code, tant qu'il marche, ça me va :lol:

thoduv
09/04/2006, 17h12
Ben moi, un code, tant qu'il marche, ça me va :lol:
Un code moche :

Empeche de tenir un gros projet
Empeche de revenir sur un projet dès qu'on l'a laché
Empeche d'autres personnes de se plonger dans le projet
Rend quasi-impossible le débuggage
Nuit à la portabilité / amélioration
:hum:


Merci pour vos réactions ! :)
Et concernant l'organisation du projet (fichiers, parties, modules, etc) vous faîte comment (en gros) ?

Smealum
09/04/2006, 17h22
Empeche de tenir un gros projet
Empeche de revenir sur un projet dès qu'on l'a laché
Empeche d'autres personnes de se plonger dans le projet
Rend quasi-impossible le débuggage
Nuit à la portabilité / amélioration
:hum:


Je ne fais pas de gros projets
C'est faux, il y a encore pas longtemps j'ai rafistolé EI pour des besoins....personnels :ph34r:
Ben en même temps vu que je ne fais que des petits projets, je suis seul a travailler dessus, donc c'est bon...
Pas complètement, j'ai viré plein de bugs, même s'il y en a un qui persiste :ph34r:
Personne ne voudrait porter mes jeux de toute manière :lol:
:hum:


PS : Je ne défends pas le code sale, mais bon, je dis juste que dans un projet où il n'y a qu'un codeur, on peut se permettre de coder "salement"...Même si ça ne sera pas pratique si certains veulent reprendre le projet après qu'il ne soit finit.

DJP
09/04/2006, 17h43
Idée initiale
Recherche d'information (si besoin)
Analyse des connaissance requises
Apprendre les connaissances
Faire les mockup principaux
Programmer une première version "bourrine"
Si satisfait de la premier version > nettoyage, séparation des fonctions, etc...
Continuation du projet
A chaque "grosse étape" analyse du code pour l'optimiser si besoin
Heureux :D

Dr.Vince
09/04/2006, 20h10
pour l'organisation niveaux modules, je fait un fichier par composant c'est vachement plus clair et j'ai un gros fichier qui contient le moteur

cocole
09/04/2006, 20h41
Comme un porc : tout en vrac dans un seul fichier, pas d'optimisation, variables nommées a b c i j k x y z afin de ne pas savoir à quoi elles servent, etc... Sans oublier le fin du fin : pas un seul commentaire.

birslip
09/04/2006, 20h46
pour l'organisation niveaux modules, je fait un fichier par composant c'est vachement plus clair et j'ai un gros fichier qui contient le moteur

Pareil, quand ça commence à devenir un peu "gros" (pas gros gros hein, genre plus de 15ko dans le main) je sépare tout, tout devient clair, ça compile vite et seulement le fichier que l'on a modifié :)
Sinon dans le main il y a le moteur général, qui execute les bonnes fonctions au bon moment.

N64Francois
10/04/2006, 01h05
Moi, je programme mal.
C'est simple, j'ai une idée, et j'essaie d'imaginer si c'est possible ou pas.La plupart du temps j'arrive à la conclusion que oui, et alors je commence un projet comme un bourrin.
Aucune organisation dans les sources aussi, je m'y perds souvent :lol:
D'ailleurs, les 3/4 du temps je me rends compte quand je suis à la moitié du projet que vu mon niveau je ne peux pas y arriver, même si c'est faisable et j'abandonne...

C'est un peu la même chose pour moi...

MaXleBourrin
10/04/2006, 01h15
Mais tu réussis mieux que Smealum!!!! :D:D

Je déconne biensur, je n'arrive même pas à la cheville de vous deux :)

mat1809
10/04/2006, 01h22
Moi j'ai deja programmer un petit programme sur ma calculatrice Casio 35+....
*Je sors

N64Francois
11/04/2006, 14h02
Moi j'ai deja programmer un petit programme sur ma calculatrice Casio 35+....
*Je sors
Lance toi et tu veras que ce n'est pas très compliqué.
En t'aidant des tutos (pour PALib par exemple) je suis certain que tu pourrais arriver à faire un petit homebrew sympa

Poppu
11/04/2006, 14h07
Je fais un peu comme Phantom, c'est à dire

1. Idée de base
2. Docs sur le sujet
3. Programmer une version hyper crade qui tient généralement sur un seul fichier et qui fait le stricte minimum
4. Si ca me plait, je reprends le tout proprement (classes, structure général du programme).
5. Je me touche en voyant le truc marcher.

Pyroh
11/04/2006, 15h42
Moi j'adore coder, j'ai une idée qui me vient dans la tete, c'est clair comme de l'eau de roche. J'ai tous les éléments (enfin c'est ce que je pense) et je me lance comme un bourrin dedans avec tous les algos dans la tete. :lol:

Résultat :
- J'avais 1/10 des algo de conceptualisé (intellectuellement) et il s'avèrent etre faux
- J'ai codé pendant 4h avant de me rendre compte que ca fonctionne pas (quand ca compile)
- Si une technique fonctionne pas comme je veux (parce que je sais pas l'utiliser la plupart du temps) je passe à une technique encore plus compliquée et je me retrouve, par exemple, à coder un shmup sur DS en C++ en utilisant des classes polymorphes :S
- J'ai une sale tendance à n'utiliser que des pointeurs pour faire mumuse avec la mémoire alors le résultat est souvent catastrophique...

Vous comprendrez maintenant pourquoi je ne poste pas de projet, pourtant j'en ai 10 en cours >_<

thoduv
11/04/2006, 15h46
Moi j'adore coder, j'ai une idée qui me vient dans la tete, c'est clair comme de l'eau de roche. J'ai tous les éléments (enfin c'est ce que je pense) et je me lance comme un bourrin dedans avec tous les algos dans la tete. :lol:

Résultat :
- J'avais 1/10 des algo de conceptualisé (intellectuellement) et il s'avèrent etre faux
- J'ai codé pendant 4h avant de me rendre compte que ca fonctionne pas (quand ca compile)
- Si une technique fonctionne pas comme je veux (parce que je sais pas l'utiliser la plupart du temps) je passe à une technique encore plus compliquée et je me retrouve, par exemple, à coder un shmup sur DS en C++ en utilisant des classes polymorphes :S
- J'ai une sale tendance à n'utiliser que des pointeurs pour faire mumuse avec la mémoire alors le résultat est souvent catastrophique...

Vous comprendrez maintenant pourquoi je ne poste pas de projet, pourtant j'en ai 10 en cours >_<
Ah ben je me reconnais à peu près là :whst:

Pyroh
11/04/2006, 15h58
Ah ben je me reconnais à peu près là :whst:
Sauf que toi ca donne quelque chose ;)

ZiapaT
11/04/2006, 16h36
Brouillon, puis recopiage "au propre".
Tout reprogrammer c'est chiant, car 90% du code est inchangé (ou juste réorganisé), mais les 10% de "saleté" qu'on a réussi à virer peuvent vraiment faire la différence, aussi bien au niveau de la lisibilité du code (cohérence de l'ensemble des commentaires, structure organisée) que de l'optimisation des fonctions.

Evidemment les coders pro ont des techniques de programmation qui leur évite d'avoir à refondre tout leur code, en étant organisés depuis le début notamment avec les beaux logigrammes préconisés plus haut, mais bon... c'est aussi souvent fait pour organiser le travail à plusieurs, et tenir des impératifs de délais... de toute façon toujours intenable :p

Sur http://fr.wikipedia.org/wiki/Programmation on apprend pas mal de chose...

MIKEGBA
11/04/2006, 16h52
:lol: ben moi, c'est pas compliqué.

Je note très peu de chose sur papier, justes les gros algos et les structures.

Je fais un plan mémoire de l'utilisation de la RAM et de la ROM.

Pour le sources, je suis organisé bi-fichier, 1 pour le code en rom, 1 pour le code

en iwram.

Par contre , je passe énormément de temps sur les commentaires, et je fais en

sorte que ce soit joli à regarder :w00t:

Sinon, je code comme ça vient, et je débbugge jusqu'à ce que ça tourne....

Gwoin
13/04/2006, 13h06
Pour ma part, je réfléchie d'abord aux algos et à une architecture propre et efficace (c'est tellement chiant de devoir refaire son code). J'essaie de réfléchir aussi à une version de l'algo qui soit facilement modifiable ou que je puisse facilement et proprement rajouter des choses par la suite.

Ensuite je me lance dans le code de l'architecture du programme.
Et enfin je peux venir plugguer des parties de codes correspondantes aux différents modules du jeu.

C'est assez chiant et long au départ parce qu'on ne voit rien de ce qu'on fait tant que la structure n'est pas finie, mais c'est assez efficace et ça me facilite la vie par la suite v_v

Hitto
13/04/2006, 14h52
Le chaos est la seule manière possible de programmer.

- Toujours faire du séquentiel. Tu nettoieras après en compactant ce que tu retrouves souvent en fonctions, mais avant tout, ça doit marcher.
- Toujours faire du séquentiel. Les commentaires c'est pour les gonzesses.
- Algo? C'est la traduction de cahier des charges en langage gonzesse, ouste!
- Des backups? Ah ouais, mais moins d'un par semaine, sinon, retourne au blue boy avec tes copines.
- Orienté objet : pfouahalala, ça fait dix ans que c'est has-been, cette mode!
- Les pointeurs : encore un truc pour les femelettes. malloc, calloc, moi quand je dis ça à voix haute, ça me fait penser à "mains calleuses de pignolou".
- Architecture : inutile.

La seule méthode pour coder, c'est : 10% de code, 90% de debug! La vie est plus amusante que le code propre et ennuyeux :D

(ce troll vous a été offert par l'association des codeurs fous)

Treize
13/04/2006, 14h55
Exellent Hitto, maintenant je passe pour un con a pouffer de rire devant le pc.

spyk
10/07/2006, 23h23
-1 Je trouve une idée
-2 J'y pense, je vois le code dans ma tete, en cours, au lit, dans les trajets de bus, n'importe ou quoi.
(Mdr, enfaite, j'ai atteint un niveau d'existence superieur, je programme sans ordinateur en language biologique... C'est pas baleze ca? lol)
-3 Je code sur mon ordinateur.
Et généralement, j'ai un code assez propre du premier coup:)