Comment te souviens-tu de la programmation? Avez-vous eu le sentiment d'avoir rencontré l'erreur que vous aviez devant vous maintenant, il y a quelques années, et vous pouviez jurer que vous connaissiez la cause à l'époque, mais maintenant vous l'avez oubliée?
Avez-vous travaillé avec l'analyse de chaîne de xsl il y a quelque temps, mais maintenant vous ne pouvez pas vous rappeler exactement quelles sont les fonctions de chaîne de xsl et vous devez recommencer à zéro? Ou peut-être oubliez-vous une fonctionnalité d’Apache Commons telle que "filtrer une collection par un prédicat" que vous avez sûrement utilisée dans le passé.
Alors, comment fais-tu? J'ai essayé d'avoir un blog, mais lorsque je développe des applications, je ne trouve jamais le temps de mettre à jour le blog ou d'écrire sur mes expériences. De plus, utiliser un wiki est une bonne chose, mais j’ai eu du mal à garder une séparation nette entre eux, car j’ai souvent eu besoin de changer de blog pour ajouter de nouvelles informations sur ce sujet. Cela m'a fait penser que j'aurais effectivement dû mettre ce sujet dans le wiki plutôt que dans le blog.
Avez-vous des systèmes qui vous aident à vous souvenir de votre expérience en programmation? Quelle est votre configuration?
la source
Réponses:
Oublier des choses est normal. Ne pas se souvenir de certaines astuces qui vous ont aidé dans le passé est également normal. C'est la première étape à reconnaître. Ensuite, il existe des moyens de "stocker" des connaissances pour une révision ultérieure:
la source
Ma clé est
Variété
Répétition. Une fois peut être fugace. Voir le 100ème événement fait la différence!
Mémoire par les doigts . Je me souviens beaucoup mieux du code quand je l’ai tapé quelques fois.
Bibliothèque de codes - Conservez une réserve personnelle de codes et d’astuces que vous avez utilisées et vues.
Centralisation. Je garde 1 fichier avec tous mes noms d'utilisateur (des centaines) sur 1 pc. J'applique la sécurité.
Discipline - vous avez mentionné ne pas avoir le temps / de faire l'effort de mettre à jour votre propre blog, etc. Vous devez simplement travailler plus fort et vous assurer de le faire.
Acceptation - les compétences, techniques et choses que vous avez apprises pendant la semaine seront fraîches. Certains des articles que vous dites il y a trois ans seront difficiles à retenir. C'est normal car le cerveau fait de la place pour plus.
Des sens multiples - parfois j'utilise des mnémoniques, parfois je laisse tomber une image avec des concepts clés dessinés de manière distincte. Je lis, j'écoute des podcasts, je regarde des vidéos, j'utilise la couleur dans les éditeurs. Le plus de sens que j'utilise le mieux.
Mnémoniques , p.ex. Ordre css à la frontière Tarball (TaRBalL) TopRightBottomLeft. J'utilise aussi des couleurs et des formes pour me souvenir des mots et des thèmes. Souvent, le plus bizarre, le plus mémorable!
Utilisation continue - C'est l'effet «utilisez-le ou perdez-le». Toute connaissance s'estompe avec le temps. Time ++ Fade ++
The Stack Exchange Network - J'utilise Stack Overflow dans plusieurs domaines pour essayer de conserver autant de compétences et de techniques différentes «actuelles» et «mémorisées», même si je ne les utilise pas dans mon travail / projet actuel.
Dropbox - Je garde des petits fichiers avec des éléments liés à la mémoire
Livres - J'aime toujours l'imbécile et la sensation des livres physiques. J'ai aussi plusieurs livres en ligne et autres ouvrages techniques en ligne auxquels je peux me référer n'importe où. Évidemment, ma bibliothèque technique peut être accessible n’importe où quand c’est numérique, ce qui est énorme.
L'effet Google - aucune liste d'éléments ne serait vraiment complète sans le mentionner. C’est davantage ce dont vous n’avez pas besoin de vous souvenir, car vous pouvez le rechercher sur Google et le trouver. C'est aussi une considération importante. Alors que de plus en plus de gens deviennent plus adeptes de cette façon d’acquérir des connaissances, il est de moins en moins nécessaire de mémoriser un fait donné. Cependant, ceci constitue également un «relèvement de la barre» pour les travailleurs du savoir qui découvrent de plus en plus qu'une compréhension conceptuelle profonde est nécessaire pour fonctionner dans l'environnement actuel. Bien sûr, quelle sortie pour les CME !
Mon propre blog
Mon propre site de favoris .
la source
Au cours de la dernière année, Evernote est devenu un programme dont je ne pouvais plus me passer. Je copie tout dans Evernote. Extraits de code, captures d’écran, données de contact, historique des versions, etc. Donc, je n'ai pas à me rappeler autant de détails. Je sais juste que c'est quelque part.
La version de base est gratuite. Alors essayez-le!
la source
Sherlock Holmes a un jour déclaré quelque chose comme "L'esprit d'un homme est comme un grenier. Si vous le remplissez de futilités, il n'y a pas de place pour quoi que ce soit qui soit vraiment important. Pour tous ces détails, nous avons l'encyclopédie."
À moins que vous n'ayez une mémoire photographique et ses problèmes, vous ne vous souviendrez pas de tout. Construisez un ensemble de ressources, une bibliothèque personnelle d’informations et de techniques de résolution de problèmes.
Vous ne vous souviendrez peut-être pas de la réponse et même de ne pas vous rappeler où la réponse a été écrite. Mais si vous savez comment résoudre le problème, vous pouvez toujours trouver la réponse. Espérons que cela inclura la documentation de votre solution de manière consultable et réutilisable.
la source
Eh bien, peut-être que mon cas est particulier… mais: j'ai tous les logiciels que j'ai écrits depuis 76 sur mon ordinateur portable, mes programmes, scripts, configurations, etc. Ainsi, avec le temps (je dois l'avouer), ma mémoire est devenue moins lourde » trucs 'à se rappeler des méta-données sur des trucs. Bien sûr, beaucoup d’entre elles ne sont plus pertinentes, mais j’estime que le plus difficile est d’avoir les idées et non de les mettre en œuvre. Les métadonnées sont donc essentiellement un index des «idées» pouvant être trouvées où.
De nos jours, lorsque je découvre de nouveaux territoires, j'ai tendance à trouver une base de code volumineuse qui utilise les nouveaux aspects et à passer du temps de qualité avec la base de code. Je l'étudie, j'essaie de le faire fonctionner dans un environnement de test, puis j'essaye de l'augmenter pour pouvoir accéder à de nouveaux outils (bibliothèques, langages, technologies de construction, etc.). Ce processus me permet de tracer mes modèles, idées, sur un exemple. Je peux prendre le temps de faire quelques-uns de ces mini-projets et de choisir celui avec lequel je me sens le plus chez moi. Une fois que cela est fait, je vais éventuellement réutiliser cette base de code pour construire le squelette de mes propres applications.
Lorsque les archives personnelles échouent, je me connecte au réseau, auquel j'ai récemment ajouté SO. Je vais avoir un coup sur les «nouveaux» concepts (nouveaux d'un point de vue personnel) sur SO avant gaagle. En fait, je retourne rarement (de nos jours) à Gaagle. La première réponse pertinente est généralement un lien vers des questions intéressantes sur les SO.
la source
Comme d’autres, je garde une trace des choses en utilisant des marque-pages.
J'avais l'habitude d'utiliser Delicious, mais je suis maintenant passé à Pinboard.
Mais je n'utilise pas cette méthode autant qu'avant. Il semble que tous les problèmes de programmation que je rencontre rencontrent une petite recherche google. Et depuis un an environ, j'ai commencé à utiliser Stackoverflow comme terme de recherche!
Chaque fois que je pose une question SO pour une question particulièrement difficile, je la préfère pour la suivre. Il s’agit là d’une autre forme de bookmarking.
la source
Il est absolument normal de ne pas se souvenir des détails les plus fins. Cependant, ce qui vous préoccupe, c’est d’oublier les choses essentielles. Si vous corrigez un bogue, vous devriez au moins avoir une idée conceptuelle du problème.
Les marque-pages, les blogs, les cahiers sont parfaits pour stocker ces détails les plus fins. Mais en fin de compte, vous devez toujours vous souvenir de la "plus grande image". Sinon, redécouvrir ces détails "plus fins" sera d'autant plus difficile.
la source
Gardez vos propres notes, exprimant les choses dans vos propres mots. Votre public cible est vous , personne d'autre, alors vous pouvez vous permettre d'être concis. (Un article de blog doit cependant être clair et bien édité, ce qui prend du temps.) Si vous trouvez de bons articles / articles de blog, enregistrez l'URL, mais expliquez quand même les choses avec vos propres mots.
Je garde une grande hiérarchie de petits fichiers courts contenant un seul sujet. Les fichiers sont pour la plupart de forme libre, mais je passe maintenant à Markdown. Recherchez avec grep / find. Je garde le dossier dans ma DropBox, il est donc toujours disponible pour moi.
la source
Chacun peut avoir son propre style auquel il est habitué. Pour moi, je sépare les connaissances en catégories:
Livres
Des articles
Collections (les éléments que je trouve intéressants se limitent à quelques paragraphes - je copie en fait les informations et parfois j'annote la source) - Par exemple: développement OOD, génériques, etc.
Code réutilisable (texte et extraits) - Chacun sur un fichier séparé sous une bonne organisation arborescente. Par exemple, le noeud DataValidation contiendrait de nombreuses techniques pour valider différents éléments de données, chacun dans un fichier séparé.
Projets achevés
Didacticiels vidéo personnels (j’enregistre parfois des vidéos sur la façon de faire des choses lorsque le nombre d’étapes est trop élevé).
Liens
J'organise ce qui précède par sujet, chaque sujet étant présenté dans une arborescence appropriée.
Parfois, il y a des choses qui se chevauchent mais je réussis à trouver ce que je veux.
De plus, avec Google Desktop, la recherche de texte ou de fichiers est très rapide.
la source
J'utilise OneNote. Je travaille avec beaucoup de langages de programmation différents. J'ai donc différentes sections pour chaque langue et différents onglets pour différents types de notes.
Maintenant, je commence à utiliser Stack Exchange également.
la source
Vous devez être équilibré entre mémoire et "stockage" .. Si vous comptez trop ou mal pour des choses fausses en mémoire, problème ==, si vous comptez trop sur tout stocker == inutile.
Mes règles:
-Ne pas trop embellir! écrivez le texte important même si la taille de la police varie dans votre document :)
-Ne pas trop à l'origine. Convainquez-vous que pour organiser vos pensées, vous avez besoin d'une arborescence à 10 niveaux
-Passe du temps à trouver quoi enregistrer. vous pouvez trouver 5 solutions au même problème. Au moment où vous les écrivez, vous perdez. Ecrivez 1-2 qui VRAIMENT vous aider. Ne vous laissez pas vous dire que vous n’avez pas le temps pour cela maintenant. C'est plutôt étrange mais cela s'applique: "J'ai passé du temps pour avoir du temps"
Je n'aime pas mettre ces choses dans un "produit" parce que je veux être sûr qu'il existera 20 ans plus tard et que je ne veux pas migrer moi-même vers diverses plateformes.
Alors que faire?
Tout ce que vous pouvez obtenir les informations avec un minimum d'effort.
Par exemple, installez phpBB et écrivez-vous. la fonctionnalité de recherche est prête à l'emploi, elle est gratuite et vous pouvez extraire des données avec de simples instructions SQL et les mettre dans des fichiers. vous pouvez créer une tâche cron qui exporte vos pensées dans des fichiers pour les archiver. Donc, si vous avez besoin de les mettre dans un autre système, vous êtes prêt avec un minimum d'effort.
Un autre problème est que personne ne garantit que les liens que vous trouverez fonctionneront demain (imaginez 5 ans plus tard). Alors essayez de dupliquer l'info:
-Téléchargez la vidéo avec une extension du navigateur et attachez-la par exemple à votre message phpBB (ou wordpress ou autre).
Face à cela: vous êtes un programmeur et vous créez des applications pour d'autres personnes. Faites-en un simple pour vous et devenez VOTRE meilleur client.
mon 2c
la source
Réponse courte:
Pratique, pratique, pratique.
Réponse pas si courte:
Comment te souviens-tu comment marcher? Comment te souviens-tu comment parler? Certes, ces compétences ne sont pas exactement les mêmes et ne requièrent apparemment pas de connaissances encyclopédiques (pour les débutants, au moins), mais vous utilisez la même chose: la mémoire.
Bien que j'admette que, pour les débutants, la programmation peut sembler un sujet incroyablement vaste lorsque vous commencez à l'étudier, elle devient comme n'importe quel autre sujet une fois que vous maîtrisez les bases.
Dès que j'ai compris cela, j'ai commencé à diviser les choses en morceaux de plus en plus petits (ma propre version personnelle de l'abstraction). De cette façon, quelque chose qui semblait difficile à retenir devient plus facile (du moins avec moi).
Ecrire aide beaucoup plus que vous ne le pensez (après avoir travaillé dans l'éducation, je sais que cela peut avoir des effets positifs énormes sur la rétention). Surtout si vous pouvez le formuler avec vos propres mots, plutôt que de le copier mot pour mot. Si vous pouvez paraphraser ou assimiler cela à quelque chose que vous connaissez déjà, c'est encore mieux.
Par exemple: En C #, les objets String sont immuables. Cela signifie que chaque fois que je demande à mon programme de modifier le contenu d'un objet chaîne, ce qui se produit réellement est que la chaîne d'origine est détruite (techniquement, elle est placée au niveau le plus bas du garbage collector). Exactement comme lorsqu'un artiste commet une erreur lors de la création d'une sculpture en marbre, celle-ci ne peut pas être modifiée, elle est donc détruite et une nouvelle est créée.
Ce n'est pas un bon exemple, mais cela montre l'essentiel de ce à quoi je veux en venir.
Une documentation de qualité aide aussi. Quelque chose que mon conférencier m'a dit une fois m'a collé:
Les bons livres sont aussi une excellente ressource. Un tuteur différent m'a dit un jour que si un livre ne possède pas d'index (et qu'il en existe beaucoup, il n'en existe pas), son achat ne vaut pas la peine.
Google peut être une ressource incroyable, mais soyez conscient des codeurs copier-coller. Éloignez-vous des sites qui vous donnent simplement un bloc de code sans explication. Je préfère lire tout un article sur de petits blocs de code, de cette façon, vous partez en sachant exactement ce que le bloc de code est censé faire, comment il le fait et pourquoi le programmeur l'a écrit de cette façon.
J'espère que ça t'as aidé
la source