IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Comment développer proprement en Java?


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 66
    Points
    66
    Par défaut Comment développer proprement en Java?
    Bonjour, je suis autodidacte et j'apprend Java à l'aide d'un bouquin . Je me suis rendu compte au fur et à mesure des objectifs que je me fixais (d'abord des petits programmes CLI, puis maintenant un projet Web assez important), que jamais je n'atteindrais un niveau "professionnel" ou scolaire en java en lisant des manuels: techniques de programmation, trucs à savoir, organisation, logique... Je ne bénéficie pas de la personnalisation et des conseils d'un formateur, et forcément les programmes deviennent vite bourrés d'erreurs ou alors conscidérablement complexes. Je voudrai savoir comment un amateur peut il acquérir ce qui lui manque pour développer des applications complexes et fiables?

  2. #2
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    J'aimerais juste corriger l'idée que tu émets selon laquelle un professionnel est plus vertueux qu'un amateur. D'expérience, beaucoup de ingénieurs qui sortent des écoles présentent de multiples lacunes et faiblesses méthodologiques, et avec le contexte professionnel ambiant focalisé sur le rendement au lieu de la qualité, ca ne s'arrange guère.

    Pour atteindre le niveau que tu souhaites, il faut apprendre des autres. En lisant des blogs, des tutoriaux, des présentations. Il faut lire, voire s'impliquer dans un projet open source. Les projets phares sont en général bien conçu.

    Il faut aussi aquérir une culture, et pour cela, faire de la veille technologique. Elargir le périmètre, ne pas se cantoner au java, apporte d'autres éclairages sur ta façon d'aborder le développement.

  3. #3
    Membre confirmé Avatar de T`lash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2007
    Messages : 381
    Points : 519
    Points
    519
    Par défaut
    Programmer proprement c'est tout d'abord nettoyer les traces de pizza et ne pas renverser de bière sur son clavier....


    Mais à part ça tu peux aussi consulter les cours de Bernard Musy qui était mon professeur d'informatique à l'IUT d'Annecy : >> ici <<

    En commençant par les cours d'Algo qui enseignent la méthodologie.

    Il faudrait que je retrouve ça mais on avait créé un logo "programmation certifiée BM" tellement il faisait passer la forme avant le fond car d'après lui un code bien structuré et commenté même s'il ne fonctionne pas peut être très rapidement repris par quelqu'un qui à le recul nécessaire pour trouver facilement le bug qui fait s'arracher les cheveux depuis plusieurs jours.

  4. #4
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Une bonne chose c'est déjà d'avoir une "mise en forme" propre comme dis ci-dessus. Ce qui veut dire :
    1. Respecter les conventions de nommages des classes/méthodes/variables/etc. établies par Sun
    2. Avoir une indentation correcte
    3. Avoir un code aéré et commenté (javadoc + commentaires de code)
    4. Créer des classes réutilisables afin de ne pas répéter le même code un peu partout


    Non exaustif mais primordial.

    Ensuite c'est l'expérience qui permet de s'améliorer et cette expérience s'acquiert :
    1. en codant
    2. en lisant des bouquins
    3. en lisant des blogs de personnes compétentes
    4. en faisant de la veille technologique


    etc.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 66
    Points
    66
    Par défaut
    Merci pour vos réponses, mais je ne parlais pas particulièrement de la mise en forme. Je programme en php depuis quelques années et je sais faire de long codes correctements aéré, indentés, commentés etc... Je parlais de la syntaxe de java qui est un langage pour moi assez complexe dans le sens où on peut faire le même programme avec des tas de façons différentes... et pas souvent les bonnes.

  6. #6
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Je ne pense pas que amateur / professionnel soit une distinction très pertinente.

    Il faut une première chose : du temps de pratique. Moi, professionnel, ayant appris plus de langages informatiques que la tour de Babel ne puisse en contenir, j'observe qu'à chaque nouveau langage il me faut environ 15 jours pour dire OK j'ai compris et... 6 mois pour dire : OK je suis compétent.

    Il y en a qui sont des spécialistes sur Python, Ruby, C# etc en 3 coups de cuillères à pot... c'est des menteurs. Donc si tu n'as pas 6 mois de pratique, inutile de te faire des soucis, c'est normal que tu tatonnes un peu.

    Ensuite, deux choses aident : la réalisation de petits projets persos, et surtout la réalisation de projets en équipe. Trouves toi un petit développement open source qui a besoin de codeurs, et ça te fera bien bosser.

  7. #7
    Membre confirmé Avatar de T`lash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2007
    Messages : 381
    Points : 519
    Points
    519
    Par défaut
    Dans ce cas-là, tu parles d'une spécificité de Java ou plutôt des langages orienté objet ?

    Parce que c'est comme ce que j'ai vu faire par des professeurs d'informatique : utiliser Java pour l'enseignement parce que ce sera le langage étudié par la suite, mais pour faire du procédural au lieu de la POO.

  8. #8
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 66
    Points
    66
    Par défaut
    Je ne veux pas parler de la POO en particulier. Bien que j'ai écrit des programmes en procédural pendant pas mal de temps, j'estime avoir compris les grands principes de l'objet (j'ai un peu galéré, mais j'ai plus trop de problèmes avec ça). Il s'agit bien en effet des langages de haut niveau comme Java où il est possible de s'égarer trés facilement. Mais je vais suivre les conseils précédemment cités et me fixer des buts. Participer à un projet d'envergure est une bonne idée, mais dans mon esprit ce sont les développeurs confirmés qui sont attendus dans ces équipes, je me trompe? Sinon, où trouve t'on des "offres" concernant ces projets?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 442
    Points : 540
    Points
    540
    Par défaut
    Bonjour mithrendil,

    J'aurais juste quelques petites questions à te poser :

    Citation Envoyé par mithrendil Voir le message
    et forcément les programmes deviennent vite bourrés d'erreurs ou alors conscidérablement complexes. Je voudrai savoir comment un amateur peut il acquérir ce qui lui manque pour développer des applications complexes et fiables?
    Depuis combien de temps programmes-tu en Java ?

    Pour quel(s) motif(s) souhaites tu programmer en Java :
    loisir ? développement d'applications personnelles ? travail en entreprise ?

    Arrives-tu à identifier ce qui fait que tes programmes soient "bourrés d'erreurs" ?

    - problèmes syntaxiques ?
    - méconnaissance de l'API Java
    - couplages forts entre tes objets ?
    - ...

    Quel type d'erreur rencontres-tu le plus souvent ?

  10. #10
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Il y a un forum là dessus sur developpez.net, à ce que je comprends.

    Sinon tous les projets apache (jakarta, ant, maven, etc, etc, etc) cherchent des contributeurs. Ne soit pas rebuté au départ, il y a souvent des français dans le club, et l'accueil est souvent très sympa, du moment que tu appliques le principe Help Yourself. Dans jakarta/commons, il y a beaucoup de petits projets sympas. Et au niveau formateur, c'est le turbo. Et sur ces projets là il y a souvent une section réservée aux développeurs : ils savent que, s'ils n'accueillent pas correctement les nouveaux, le projet est foutu à brève échéance.

    Certes il y a souvent une grosse prise de connaissance au départ. Moi j'avais essayé au départ avec Groovy, et finalement c'est ce qui m'avait rebuté : j'ai autre chose à faire. Pourtant le mec qui s'en occupe (dans les projets open source, le nombre de personnes actives se compte souvent sur les doigts d'une seule main) est français et il est très sympa.

    Et pour une personne qui souhaite avant tout se former, c'est au contraire un avantage, qu'il y ait beaucoup à apprendre, non ?

  11. #11
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Points : 66
    Points
    66
    Par défaut
    Pour Duc Lebowski:
    Je programme en java depuis un gros mois (tout neuf donc), surtout pour le loisir mais pas seulement: j'aimerai pouvoir trouver un travail dans la conception web avec J2EE. Mes problèmes sont notamment dûs à la méconnaissance du langage (j'ai appris les bases avec le bouquin de Claude Delannoy - trés bien mais quand on a plus compliqué que des classes "A" et des classes "B" à mettre en oeuvre, on a du mal à faire le rapprochement...). Les erreurs en question ne sont pas vraiment des erreurs, mais plutôt le fait de taper 10 lignes de code alors que c'est faisable en 3 lignes. Le problème est que j'ai sans doute voulu m'attaquer à quelque chose de trop gros pour commencer, à savoir une application web avec servlets, jsp et jdbc (projet que je fais actuellement pour mon stage de BTS, initialement prévu en php). Je manque hélas cruellement d'imagination et je n'ai pas d'idées à concrétiser en java...

    Pour gifffftane:
    Ton idée est bonne, je suis motivé pour me joindre à un projet... Reste à savoir lequel.

  12. #12
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    bonjour mithrendil,

    je suis dans le même cas que toi, autodidacte.(j'ai commencé il y a 3ans)
    j'ai eu droit a disons.... 8heures de cours sur java durant ma formation... autrement dit on l'a présenté et quelques exos de bases sous jbuilder.

    Bref ma formation java, je ne la dois qu'a moi meme et je ne m'en porte pas plus mal.

    Pour moi c'est le temps et la volonté qui compte. Apres c'est selon ton domaine, pour ma part j'ai surtout travailler sur les interfaces, java2d, jdbc, netbeans RCP et la librairie cartographie : GeoTools.

    Pour le reste, je me dis que personne ne peut tout savoir, il faudra faire pour le mieux et apprendre ce qu'il manque.

    J'en apprend encore tout les jours

  13. #13
    Débutant
    Inscrit en
    Juin 2007
    Messages
    453
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 453
    Points : 97
    Points
    97
    Par défaut programme bien structuré en java
    je pense que c'est d'avoir une forte collusion entre les classes d'une meme paquetage et une faible couplage entre les paquetages .en plus de ça je vous conseille toujours de minimiser le code de chaque classe et de faire des commentaires pour qu'ils soient toujours extensible ,rigide et flexible

  14. #14
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 41
    Points
    41
    Par défaut
    Mon conseil est de coder le Max, sans faire attention si ton code est le meilleur ou pas. Attention, faut pas non plus produire du code illisible.

    Pour moi, faut juste penser à qq qui va lire ton code après toi, donc faut lui simplifier la tâche.

    Sinon, ma devise est celle de Stallman, le meilleur moyen d'apprendre à coder est :

    Read Code, Write Code, Read Code, Write Code, ....

    Pour le code à lire, le Net est rempli de ça. Je te deconseille une approche structuré, à lire des livres qui ne se terminent pas. On apprends sur ses erreurs, code, fais des erreurs, et apprends, lis du code, et essaye de suivre des discussions comme sur ce forum, ...

  15. #15
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Points : 317
    Points
    317
    Par défaut
    je te suggere de passer La SCJP, deja le fait de la preparer tu apprendras la base de java. Ensuite pour te specialiser dans le truc que tu veux tu passe la SCWCD ou la SCBCD.
    En te fixant ces objectifs clairs et avec la documentation necessaires online ou livres, tu feras la certif et en plus tu comprendras tout en la preparant.

  16. #16
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par jhaythem Voir le message
    je te suggere de passer La SCJP, deja le fait de la preparer tu apprendras la base de java.
    La SCJP pour débuter, ça ne me paraît pas une bonne idée... Effectivement, préparer la certification apprend plein de choses sur le langage, mais en approfondissement, pas sur les bases. Les bases (et même plus) sont un fort prérequis lorsqu'on envisage de passer la certification.
    Par exemple, il faut connaître le fonctionnement du Garbage Collector, les risques d'inter-blocage en multi-thread... et plein d'autres choses qui ne sont absolument pas utiles lorsqu'on débute.
    A mon avis, la SCJP ne peut s'envisager qu'après une (plusieurs?) années de pratique sur le langage.

  17. #17
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Points : 317
    Points
    317
    Par défaut
    Citation Envoyé par CyberChouan Voir le message
    et plein d'autres choses qui ne sont absolument pas utiles lorsqu'on débute.
    A mon avis, la SCJP ne peut s'envisager qu'après une (plusieurs?) années de pratique sur le langage.
    Au contraire moi j aurais bein voulu apprendre des le debut par la certification. tu es certain que tu va apprendre de la bonne maniere des le debut et tu n as pas besoin de corriger tes infos apres.

  18. #18
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par jhaythem Voir le message
    Au contraire moi j aurais bein voulu apprendre des le debut par la certification. tu es certain que tu va apprendre de la bonne maniere des le debut et tu n as pas besoin de corriger tes infos apres.
    La certif n'est pas une façon d'apprendre, une certification est là pour valider des connaissances déjà existantes.
    De plus le test de certif ne valide pas du java "propre" mais le fonctionnement du langage et ses apis de base.

Discussions similaires

  1. Réponses: 24
    Dernier message: 05/07/2011, 16h29
  2. Comment Développer proprement et rapidement
    Par Lotharzco dans le forum Débuter
    Réponses: 3
    Dernier message: 30/01/2009, 14h21
  3. Comment Développer en équipe ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 45
    Dernier message: 19/11/2007, 00h15
  4. Réponses: 5
    Dernier message: 10/06/2004, 21h00
  5. comment connecter VC++ et (java ou VB)
    Par Tray dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 18/11/2002, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo