Question

Lorsque vous démarrez un projet de programmation personnelle, quelle est votre première étape ?J'essaie de démarrer un projet qui n'est qu'une idée pour le moment.J'en reçois beaucoup et je plonge directement dans le code et après un certain temps, je perds complètement tout intérêt et/ou j'oublie tout simplement le projet.

Lorsque vous débutez, quelle est votre première étape ?est-ce que vous planifiez le projet ?faire un schéma ?écrire du code sur papier ?Comment démarrer un projet en sachant que vous réussirez ?

Était-ce utile?

La solution

La seule chose qui fonctionne pour moi :Créez-en la plus petite implémentation possible qui soit utilisable d’une manière ou d’une autre, puis utilisez-la.

Autres conseils

Depuis 7 habitudes des personnes très efficaces, Habitude 2 :Commencer en ayant la fin à l'esprit.

Pour tout projet, vous avez besoin d'un objectif clair, d'un point où vous pouvez dire "J'ai terminé".Un résultat clair vous donnera une direction.Une fois que vous avez cela, vous pouvez commencer à planifier comment y arriver.La taille et la complexité du projet détermineront le niveau de détail dont votre plan a besoin, mais en général, vous souhaiterez sentir assez régulièrement vos progrès par rapport à votre plan.

Ma prochaine étape consiste à esquisser une conception des modules qui seront nécessaires et des API entre chaque module.Si les API sont propres, les modules ont probablement raison.Ensuite, je commence à implémenter les modules, en testant au fur et à mesure.

Je passe beaucoup de temps à réfléchir aux différents aspects du projet avant même de toucher un clavier.

Je passe en revue ce que j'ai appris des projets précédents et je l'écris dans différentes catégories (« technique », « promotion », etc.)

Projet personnel ou pas, je mets toujours en place un contrôle du code source.Git, Mercurial ou Bazaar sont des exemples d'outils de contrôle de code source qui ne sont pas intrusifs car vous n'avez pas besoin de mettre en place un serveur maître.Tapez simplement une commande simple pour créer le projet, archiver vos fichiers, valider.À l'avenir, lorsque vous gâcherez un de vos fichiers, vous pourrez « annuler »

J'ai également mis en place un système de billets léger pour garder une trace de 1. Édits et 2.Idas par "léger", je veux dire que si le maintien de deux documents texte avec ces listes fonctionne pour vous, c'est assez bien.

J'espère que cela t'aides.

Je suis d'accord avec les conseils déjà donnés de :

  • Planification d'une implémentation minimale qui fasse quelque chose d'utile en tant que première version complète.
  • Ayez des objectifs concrets sur ce que vous voulez atteindre pour pouvoir comparer vos progrès.

Je recommanderais également de commencer par une conception légère de votre ensemble architecture pour que tu puisses avoir un feuille de route de la façon de créer votre produit.

J'ai du mal à commencer à construire quelque chose quand je n'ai pas une idée claire de ce à quoi cela devrait ressembler, au moins au premier niveau de décomposition.Pensez à ce dont vous avez besoin en plus des fonctionnalités :hautes performances ?, scénarios d'extensibilité ?, lesquels ?, objectifs d'utilisabilité ?, haute scalabilité ?, facilité de déploiement et d'installabilité ?, etc.Demande toi:Quels composants devrai-je construire pour obtenir ces qualités architecturales ?

Et ne vous méprenez pas, je suis un fervent partisan du développement logiciel agile.Vous n'avez pas besoin de passer beaucoup de temps à concevoir votre architecture (car elle devra sûrement évoluer au fur et à mesure que vous construisez et obtenez des commentaires sur ce qui fonctionne et ce qui ne fonctionne pas), mais avoir un plan sur la façon de construire votre produit en fonction de son architecture devrait être utile pour planifier vos progrès et fixer des objectifs réalistes.

Définir l'objectif du projet.On dirait que vous regardez presque exclusivement la solution plutôt que le problème.

Un programme n'est utile ni à vous ni à personne d'autre à moins qu'il ne résolve un problème.Écrire du code pour avancer est une bonne chose, mais vous semblez perdre tout intérêt et votre concentration après avoir commencé – parce que vous regardez le code, pas le problème.

Prenez le temps de réfléchir à ce qui vous a amené à écrire ce code.Réfléchissez à la manière dont d’autres personnes pourraient découvrir le même besoin, quel chemin pourrait les mener à la même frustration que vous avez essayé de résoudre.

Ensuite, trouvez certaines de ces personnes et proposez votre solution (partielle), et vous générerez de l'intérêt et des suggestions parmi elles toutes.

CELA vous permettra de poursuivre votre projet.L'intérêt mutuel, le partage, voire les désaccords : ce sont les gens qui ont besoin de logiciels !Ne créez pas de solutions (logiciels) à la recherche d'un problème (personnes).Vous avez commencé avec VOUS, avec votre besoin ou votre envie, mais vous vous êtes concentré sur le code et avez perdu l'élan du projet.

La programmation est beaucoup plus amusante lorsque vous résolvez des problèmes.Mais vous devez garder le problème devant vous.Partager le problème construit une communauté.C’est de ça qu’il s’agit vraiment, n’est-ce pas ?

Pour mes projets personnels, je me lance directement.Bien entendu, aucun de ces projets n’a encore été suffisamment important pour nécessiter une quelconque planification préalable.S'il s'agit d'un projet sérieux ou d'une échelle relativement grande, c'est toujours une bonne idée de déterminer au moins ce que chaque partie du programme doit faire et d'avoir une vue d'ensemble de la manière dont elle le fera.

Comme les autres, mes projets personnels ont toujours :

  • Un objectif final
  • Une liste de tâches
  • Petites unités utilisables
  • Contrôle des sources

Comme motivation supplémentaire, j'essaie d'utiliser une technologie que je n'ai jamais utilisée auparavant.Apprendre quelque chose de nouveau devient généralement pour moi la plus grande motivation.

Facile : ne démarrez pas du tout des projets qui risquent de vous désintéresser.Passez plus de temps pour vous assurer que vous souhaitez vous engager dans une idée avant de commencer tout travail.

Cela dépend du projet – quelle est sa taille ?

Si j'écris le prochain clone du Bloc-notes, je pourrais simplement m'y plonger, si je voulais lancer mon propre système d'exploitation, cela prendrait beaucoup plus de travail de non-codage.

J'aime faire beaucoup de diagrammes, l'outil que j'utilise pour la plupart des développements est du papier A4 propre et un crayon.Dessinez l'interface utilisateur, le flux de travail, les classes de base et la manière dont vous allez stocker les données. Le codage n'est alors qu'un moyen lisible par ordinateur d'écrire ce que vous avez déjà dessiné.

Leg de contrôle de source, par ex.SVN représente quelques frappes/clics, donc la surcharge est faible et les avantages sont élevés, il est pratique d'essayer des choses et de revenir simplement à un état antérieur s'ils ne fonctionnent pas.

Ensuite, créez simplement le prototype le plus basique qui fonctionnera - une fois que quelque chose se déroule réellement, il est beaucoup plus facile de s'enthousiasmer et d'en ajouter d'autres.Si c'est accablant, je constaterai que je pense que le problème est résolu dans ma tête, et cela suffit.

Planifiez d’abord les grandes lignes de la candidature finale.Fonctionnalités les plus importantes, interface graphique de base, déroulement du programme, etc.Ensuite, affinez cela afin de ne pas en prendre trop au début, supprimez les fonctionnalités inutiles et ajoutez ce que vous voulez d'autre dans la première version.Utilisez ensuite ce plan pour démarrer une liste de tâches afin de créer la version de travail la plus petite possible de votre application.Il est alors beaucoup plus facile d'ajouter des fonctionnalités supplémentaires et de le rendre pleinement fonctionnel.

J'aime la réponse de Maximillian.pour développer un peu, mes projets personnels sont développés pour résoudre quelque chose sur lequel je travaille déjà.Ainsi, lorsque j'en aurai assez de répéter le travail, je prototyperai une solution.puis utilisez-le.Si cela ressemble suffisamment à l'un de mes projets précédents, j'emprunterai autant de code que possible et j'essaierai d'améliorer le niveau de mon travail, de le rendre plus professionnel.

L'utilisation du contrôle de source par Fusion est également importante.Prend 2 minutes pour installer SVN.

Si vous souhaitez en faire un projet public open source, Produire des logiciels open source est censé être une bonne lecture (disponible en ligne et sous forme imprimée).

Si votre projet personnel est similaire à un projet open source existant, vous devriez plutôt envisager de contribuer à ce projet.Quelques petites contributions (correctifs de bogues, etc.) ont plus de valeur qu'un projet à moitié fini.

Tout ce qui précède, mais commencez à cimenter le plan en place.....

Optez pour certains outils SmartSheet - Même si vous travaillez seul, vous devez définir certaines étapes et dates - et le graphique de www.yworks.com

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top