Comment puis-je devenir un meilleur programmeur?

Le problème exposé dans ce sujet a été résolu.

Salut, je me permet de poser une question en lien avec sa question (ou plutot vos réponses).

Vous dites qu'une bonne méthode est de participer à des projets open-source et j'ai envie de m'y mettre depuis un petit temps mais le problème c'est de trouver des petit projets aux quels participer.
Si on fait un tour sur github les 3/4 des projets qu'on trouve font peur parce que trop gros ou strictes et donnent le sentiment de ne pas avoir la capacité pour participer, ou alors c'est du web/javascript.

Du coup est ce que vous avez des conseils pour chercher un bon projet ? (bon = qui correspond à nos critères)

C'est de plus en plus clair, merci les gars. Je vais faire 3 ou 4 mois de pratique intensive et je verrai ce que j'aurai appris. Je peux par exemple reprendre mon projet de fin de cycle en application web en essayant de bien organiser mon code.c'était du java/swing

J'aimerais aussi etre capable de produire du code propre, maintenable… Parce que le code de l'appli de fin de cycle est vraiment mal foutu, on voulait juste que ça marche.

kulturm@n

Comme déjà dit, ça vient (en partie) avec l'expérience.

Mais l'experience ne tombe pas du ciel : code ! Concrétement : lis du code d'autres personnes (et contribues y pour te forcer à bien le lire et le comprendre), et à chaque fois que tu verras quelque chose de stupide, incompréhensible et que tu maudiras le dev, tu apprendras ce qu'il ne faut pas faire. Tu peux aussi reprendre un vieux projet tout moche et le recoder, pour repartir d'une base propre (ou que tu estime "plus propre" du moins).

Tres bien, merci. Il y a des BAC + 3 parmi vous(ceux qui ont participé à ce topic)?

kulturm@n

Tu entends quoi par bac+3 ? Tu acceptes ceux qui ont plus ou tu cherche spécifiquement quelqu'un qui s'est arrêté à bac+3 ?

Salut, je me permet de poser une question en lien avec sa question (ou plutot vos réponses).

Vous dites qu'une bonne méthode est de participer à des projets open-source et j'ai envie de m'y mettre depuis un petit temps mais le problème c'est de trouver des petit projets aux quels participer.
Si on fait un tour sur github les 3/4 des projets qu'on trouve font peur parce que trop gros ou strictes et donnent le sentiment de ne pas avoir la capacité pour participer, ou alors c'est du web/javascript.

Du coup est ce que vous avez des conseils pour chercher un bon projet ? (bon = qui correspond à nos critères)

backmachine

Ça dépend, tu recherche quoi comme projet ? Tu as une thématique ? Un langage de prédilection ?

Mais dans l'ensemble il est rare qu'il y ai des projets ou il est dur de rentrer dedans. C'est intimidant au début mais en réalité en le faisant dans le bon ordre tu peux facilement participer.

Même cpython propose des issues faciles et des mentors pour aider à rentrer dans le code.

Hmm j'ai quand même souvenir de quelques jours "d'initiation" au dev de CPython où je suivais ce que faisait Antoine Pitrou en plus d'essayer de contribuer moi-même à des tickets faciles qu'il m'indiquait, il y a quelques années, et j'étais quand même bien content d'avoir un certain bagage en C et en Python, sans quoi j'aurais vraiment, vraiment galéré.

Mon point de vue sur le fait de participer aux projets open source, c'est que ça demande d'être assez autonome pour participer efficacement et donc ne pas transformer l'expérience en frustration. La frustration de se sentir inutile, de ne pas piger assez vite, voire d'être complètement paumé…

Donc oui c'est certes un bon conseil, mais pas forcément pour tout le monde et ce n'est pas une fin en soi. Pour débuter et prendre de la confiance sur son propre niveau, notamment, je déconseille.

+0 -0

Ça dépend, tu recherche quoi comme projet ? Tu as une thématique ? Un langage de prédilection ?

Mais dans l'ensemble il est rare qu'il y ai des projets ou il est dur de rentrer dedans. C'est intimidant au début mais en réalité en le faisant dans le bon ordre tu peux facilement participer.

Même cpython propose des issues faciles et des mentors pour aider à rentrer dans le code.

Kje

En fait je demandais si vous avez des conseils plutôt généraux sur des endroits où chercher autre que github par exemple et des commentaires comme celui que tu fais sur le fait d'entrer dans un projet. Ca me fait penser au eudyptula challenge qui peut être une façon d'appréhender la chose.
Aussi je ne veux pas voler le sujet de Kulturm@n avec cette question.

Bonsoir,

Intéressante la piste participer à l'open source. Mais comment faire ? Moi non plus je ne vois pas trop comment commencé en fait.

J'ai déjà soumis quelques bugs çà et là (moins de 10 donc quasiment rien), et j'ai moi-même un compte github avec des projets théoriquement open source mais où je suis tout seul (car ce que je fais n'intéresse probablement personne à part moi-même) Je n'ai par contre jamais réellement participé à un projet open source communautaire. Alors comment on rentre dedans ?

Comment trouver un projet à la fois intéressant, à sa portée, et quand même pas totalement inconnu ?

Comment font ceux qui contribuent dans des projets phares comme firefox ou le noyeau linux ? Est-ce que c'est nécessairement des types ultra-balèzes qui ont 20 ans d'expérience et un QI de 180 ? Ou est-ce qu'il y a moyen de trouver quelque chose à faire qui est adapté à son niveau ?

ET pour les projets plus « raisonnables » comme ZDS ça marche comment concrètement ? Comment peut-on aider en faisant quelque chose qui nous apportera de l'expérience ? Parce que par exemple tester et envoyer des bugs, c'est utile, mais ce n'est pas avec ça qu'on progresse soi-même; enfin je ne vois pas trop comment. ET lire tout le code de ZDS sans essayer de le bidouiller un peu, je pense que ça ne doit pas beaucoup faire progresser en python non plus; tout au plus ça donne un aperçu très superficiel de comment le bouzin marche. L'intérêt c'est quand même à la fois d'apprendre quelque chose, et à la fois d'accomplir quelque chose en étant en mesure de pouvoir se dire « ce petit truc, là, c'est moi qui l'ai fait ». Ou, en d'autres termes, faire progresser à la fois ses connaissances et le projet. Parce que si le but c'est juste pour apprendre comment faire du web en python et qu'on s'en fout du reste, autant commencer par le début en faisant son petit blog / forum / site bidon dans son coin; l'apprentissage sera sûrement plus rapide que d'essayer de pénétrer dans les entrailles de ZDS.

J'ai toujours trouvé qu'il était plus difficile de lire et de comprendre le code écrit par d'autres, que de faire un code qui fait la même chose soi-même. JE considère les bibliothèques et autres frameworks comme des boîtes noires, à prendre telles qu'elles sont avec leurs avantages et leurs inconvénients, immuables. Est-ce que c'est normal de penser ainsi ? Comment faire pour dépasser cet état d'esprit sans doute mauvais ?

+0 -0

Typiquement si tu fais du Python, tous les modules du pypi ont leurs sources sur GitHub. Si tu cherches une motivation pour aller lire ces sources, dis toi par exemple que tu ne veux pas insérer n'importe quelle merde dans ton projet et que tu dois au moins t'assurer que ta dépendance est conforme à la qualité que tu souhaites donner à ton code…

Tu seras surpris de l'effet bénéfique que ça peut avoir, non seulement pour ton esprit critique, mais également en termes d'apprentissage. Je ne compte plus le nombre de fois où je me suis dit "franchement c'est astucieux mais mal foutu" et imaginer comment je le referais moi-même.

Ou à l'inverse "ouah c'est bien codé, c'est facile de rentrer dedans en plus" : lire le code des autres n'est jamais forcément agréable. C'est un peu comme porter le slip d'un autre… Mais pourtant une fois passé cette répulsion initiale, c'est vraiment très, très instructif. Et en plus ça te permet de dégoter des bugfixes faciles pour contribuer parfois.

+2 -0

Mais pourtant une fois passé cette répulsion initiale, c'est vraiment très, très instructif.

nohar

Tu parles toujours de slip ?

Pour s'intégrer à un projet, je soutiens aussi l'idée des bugfix : tu repères un bug, et tu cherches à le résoudre. Ça te fera parcourir le code dans tous les sens, comprendre comment les choses s'articulent, et dans le meilleur des cas tu résoudras même le bug :)

Merci à tous pour vos réponses. Il ne me reste plus qu'à pratiquer au jour le jour alors, je vais aussi essayer de lire le code d'autres personnes… En conclusion je crois bien que je vais plaquer l'année. J'aurai peut être des reponses favorables dans des universités françaises pour l'année prochaine! Bonne suite à tous.

Je vois. Dans tous les cas, je ne pense pas être en mesure de leur en donner. Cette année nous ne sommes pas dans le LMD donc pas de semestres…je n'aurai mes résultats que bien après Octobre(beaucoup plus tard). Et si elles veulent juste quelques notes ça craint car j'ai que les notes de gestion, de psychosocio pour le moment(les matieres environnementales quoi, là où j'ai merdé). Oui, ici les universités publiques sont aussi très en retard. :'(

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte