Est-il nécessaire de mémoriser du code?


10

Je suis un nouveau développeur, qui vient d'être embauché dans une grande entreprise. Je ne sais pas comment mais je suppose qu'ils sont désespérés. Cependant, je connais bien HTML5 / CSS3 bien que les choses changent et que de nouvelles choses soient publiées et je continue avec autant que possible. Mais ce travail m'a obligé à coder manuellement Javascript, connaître Jquery et Ajax. J'ai été un peu exposé à cela, mais je ne sais pas si je peux coder à la main Javascript.

Ma question est, est-il nécessaire de mémoriser tout ce qu'il y a à propos de Javascript ou y a-t-il quelques éléments clés que je devrais savoir comment coder à la main parce qu'en regardant le code javascript, il semble qu'il y ait beaucoup de code de lignes!

S'il te plait, oriente moi dans la bonne direction.


4
Peut-être qu'ils ne sont pas désespérés. Peut-être que vous semblez avoir un grand potentiel!
superM

3
heh, j'avais un ami qui voulait apprendre à programmer et il a commencé avec HTML / CSS / JavaScript. Il me disait "Je viens de finir de mémoriser 'xyz'" et j'ai souri et je lui ai dit qu'il devait simplement apprendre les concepts des choses et trouver une bonne référence à utiliser. Savoir qu'il y a quelque chose en langage abc qui fait tout ce qui est assez bon. Vous pouvez le consulter dans le manuel / réf. Vous mémoriserez les bases simplement en poursuivant la programmation et vous aurez besoin un peu moins du manuel.
programmeur

2
Les manuels de référence existent pour une raison. Vous mémoriserez les trucs que vous utilisez tous les jours juste à travers la répétition, mais pour tout le reste, gardez simplement un bon manuel de référence à portée de main.
John Bode

4
Mon premier travail de programmation a été une explosion. J'avais ce collègue qui au début méprisait vraiment mon utilisation des références. Il avait mémorisé littéralement tout. Puis il a été étonné de ce que j'ai produit. J'ai fini par ne plus avoir besoin des livres et lui étant mon encyclopédie pour animaux de compagnie. La chose la plus importante est que vous connaissez une option, sachez qu'elle existe plutôt que de vous souvenir exactement de la syntaxe exacte.
Pieter B

Réponses:


33

Aujourd'hui, dans notre travail comme dans notre vie, il est plus important de savoir trouver des informations plutôt que de connaître les informations elles-mêmes. Je veux dire qu'un bon développeur est une personne capable de trouver de la documentation, un réseau et de partager avec un esprit ouvert.

Je suis un développeur .NET expérimenté et, croyez-moi, pour chaque projet sur lequel je travaille, je dois apprendre de nouvelles choses sur le langage et l'environnement de développement. Notre travail est toujours plus complexe alors ne vous inquiétez pas. Attirez votre attention sur la résolution de problèmes, puis cherchez de l'aide. Toutes les solutions existent déjà; il faut pouvoir les trouver.


Bonne réponse. Alors que la plupart des problèmes courants ont sûrement des solutions existantes, je dois souligner que toutes les solutions n'existent pas et que de nombreux problèmes ne sont pas du tout résolubles.
VENIR DU

Cela dépend du domaine du problème que vous envisagez. La question est réservée aux abpot restreints. Bien sûr, si vous considérez tout le problème, quelqu'un est sûrement une mauvaise solution.
AngeloBad

1
Je ne peux pas être plus d'accord sur "il est plus important de savoir comment trouver des informations plutôt que de connaître les informations elles-mêmes" "Attirer votre attention sur la résolution de problèmes et ensuite chercher de l'aide" c'est exactement ce que je fais.
zinking le

2
Bien que je convienne qu'il est important de pouvoir rechercher des informations, vous avez toujours la responsabilité de "connaître votre métier". Si vous ne pouvez pas coder Java à la main, c'est tout simplement ridicule. Si vous voulez être un développeur professionnel, vous ne pouvez pas compter sur des béquilles pour toute votre carrière.
Bryan Oakley

La joie de Google en tant qu'outil de développement. :-)
MathAttack

9

Après avoir travaillé avec quelque chose pendant un certain temps, vous apprendrez / connaîtrez automatiquement les choses importantes.

Il n'est pas nécessaire de connaître toutes les API, les listes de paramètres de fonction, etc. Il existe des documents pour des choses comme ça. D'une manière générale, vous devez savoir des choses ou savoir où les trouver.

Par exemple, prenons la $.ajax()fonction de jQuery. Je sais ce qu'il fait et les options couramment utilisées telles que url, type, data, etc. Si je besoin de quelque chose non standard, j'ouvrir les documents et les vérifier.

Lorsque vous recherchez des informations, vous devez vous assurer que vos sources sont fiables et à jour. Par exemple, MDN l'est alors que w3schools ne l'est pas .


Merci. Je me sens beaucoup mieux maintenant puisque c'est ma première expérience de travail pour quelqu'un dans le développement web, je ne savais pas comment l'aborder. Ils sont apparemment un environnement factuel, donc je suppose que j'étudierai beaucoup de choses avant d'y arriver et tous les jours que j'y suis et que je rentre chez moi! Merci encore!
AAA

3

Je ne ferais aucun effort spécifique pour mémoriser tout ce que vous faites. Il est préférable d'apprendre simplement au fur et à mesure. Si vous vous retrouvez en train de chercher quelque chose 3+ fois, il est temps de mémoriser.

Exceptions à cette règle:

  • Éléments principaux de votre code
  • Raccourcis du framework

Merci! Donc, vous voulez dire des codes et des raccourcis de framework fréquemment utilisés s'il y a un framework impliqué. Des ressources que vous pourriez suggérer pour une grande exposition à ajax / json / jquery / js? Merci encore.
AAA

2
Je commencerais par apprendre JS correctement avant d'entrer dans les autres.
SomeKittens

3

La chose la plus importante que vous devez mémoriser est COMMENT résoudre un problème et non QUOI écrire . Si vous savez comment résoudre des problèmes, vous pouvez appliquer ces connaissances dans n'importe quelle langue et technologie.

Je pense que mémoriser du code n'est qu'une perte de temps. Vous l'oublierez quand même si vous ne l'utilisez pas correctement. Ce qui vient aux choses essentielles, comme l'a dit ThiefMaster, avec le temps, vous les mémoriserez et les utiliserez automatiquement.

C'est comme cette histoire de pêcheur qui peut soit donner un seul poisson à un homme affamé, soit lui apprendre à pêcher. Je pense que c'est définitivement mieux d'apprendre la pêche.


2

Tout d'abord, ne vous rabaissez pas. À moins que vous n'ayez complètement déformé vos compétences et menti lors de l'entretien, vous avez quelque chose qu'ils jugent utile. Vous les avez suffisamment impressionnés pour obtenir le poste, et ce n'est pas une mince affaire de nos jours.

Deuxièmement, je me concentrerais principalement sur l'apprentissage des structures de programmation et sur la façon dont elles seraient mises en œuvre en javascript. Une boucle for for next est une boucle for for next est une boucle for for next, etc. la seule différence est de savoir si c'est pour x: = 1 à 30, ou pour (i = 0; i <30, i ++) ou autre chose.

Une fois que vous connaissez les concepts de base, vous pouvez les appliquer dans à peu près n'importe quel langage de programmation avec un peu de peaufinage, et vous commencerez à apprendre à appliquer des raccourcis, des solutions plus ésotériques.

Ensuite, quelque part plus tard, la société dira «Nous avons besoin de quelqu'un pour faire X», et vous pouvez dire «Je peux le faire».


1

Que voulez-vous dire par «obligé de remettre le code»? Vont-ils ne pas vous permettre d'exécuter Eclipse ou une myriade d'outils qui bloquent ces langues? Ou essaient-ils simplement de juger votre compréhension de base d'eux? Je travaille quotidiennement avec plusieurs langages (C ++, Java, JavaScript, Php), donc j'oublie souvent la syntaxe exacte de ce que je veux faire. Disons que je veux récupérer la partie d'une chaîne après le premier espace en Java. J'utilise indexof ("") pour trouver la position, puis substring () pour obtenir le reste de la chaîne. Je ne me souviens pas si c'est indexOf, mais c'est idiot de ne pas utiliser Eclipse et d'économiser quelques minutes de patauger dans les documents.

doug


1

Je travaille sur mon projet actuel depuis plusieurs années et je me suis étonné de la quantité de base de données que j'ai mémorisée. De toute évidence, ces informations sont facilement disponibles pour la recherche, mais lorsque vous vous familiarisez avec quelque chose, vous ne pouvez pas vous empêcher de vous en souvenir. Mon patron m'a posé une question ad hoc, et j'ai répondu à une question alors qu'il jetait un regard choquant par-dessus mon épaule. C'est agréable d'être reconnu; Profites-en tant que tu peux.

Normalement, ce n'est pas vrai du tout pour moi. J'utilise beaucoup d'outils pour garder une trace des choses et rechercher des exemples de code. Je suppose que si je travaille sur autre chose, une partie de cela disparaîtra.

Si votre travail vous oblige à travailler sur divers projets en utilisant différents outils, vous n'allez pas devenir parfaitement à l'aise avec beaucoup d'entre eux. La capacité de saisir des concepts et d'apprendre de nouvelles choses sera plus importante à long terme car beaucoup de choses changeront. À un moment donné, vous ne devriez pas avoir à rechercher la syntaxe de if / then / else dans la langue de votre choix 5 fois par jour.


0

Pour autant que je sache, vous n'avez pas à mémoriser tout le code que vous utilisez. Vous vous habituerez automatiquement aux codes qui sont importants dans votre domaine, ce qui revient à plusieurs reprises dans votre tâche. Mais la principale chose importante que vous devez comprendre est ce que vous allez faire, après cela, vous pouvez utiliser Google pour savoir comment vous pouvez le faire, je ne dis pas que vous obtiendrez tout votre code dans Google, mais vous pouvez utiliser sa référence .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.