Fermer

mars 18, 2020

Comment les concepteurs devraientils apprendre à coder? Les éditeurs de terminaux et de texte (partie 1)


À propos de l'auteur

Paul Hanaoka est directeur du design chez Liferay, basé dans la banlieue de Los Angeles, et au service des équipes nord-américaines. Sa passion est à l'intersection de…
En savoir plus sur
Paul

Aux fins de cette série d'articles en deux parties, nous allons supposer la réponse «Les concepteurs devraient-ils coder?» est "Cela dépend." Si vous avez commencé et jamais terminé des cours dans une école de codage en ligne – ou si vous avez terminé les cours mais avez trouvé difficile d'appliquer ce style d'apprentissage dans votre travail quotidien, ces deux articles vous en fourniront quelques-uns différents. méthodes d'apprentissage et mettra en évidence différentes possibilités pour leur application quotidienne. Dans cette première partie de la série, nous allons essayer de nous familiariser avec la ligne de commande et les éditeurs de texte.

En tant que concepteur ayant de nombreuses années d'expérience, j'encourage souvent mes collègues et les rapports à acquérir des compétences de codage . Alors que beaucoup sont ouverts à l'idée, d'autres rechignent à l'idée. J'entends généralement des variantes de "Je n'ai pas étudié le design pour devenir développeur". Bien qu'il s'agisse d'une préoccupation valable, j'aimerais souligner deux points: une meilleure compréhension des matériaux conduit généralement à de meilleurs résultats, et il existe une distinction importante entre le «codage» et le «génie logiciel».

une partie d'une série d'articles devrait être utile à tous les concepteurs qui souhaiteraient également acquérir des compétences en codage.

Comprendre les matières premières

Contrairement à ce que certains peuvent penser, le design ne consiste pas à créer de belles maquettes, c'est pour offrir une expérience intuitive et fonctionnelle à l'utilisateur final. Cela ne peut tout simplement pas être fait sans une compréhension des éléments constitutifs d’une solution. Un architecte ne sera pas très bon dans son travail si elle ne comprend pas les matériaux exigés par ses plans et un designer ne sera pas très bon s'il ne comprend pas les matériaux qui donnent vie à ses créations. – le code. L'expérience du codage aide les concepteurs à comprendre ce qui est possible et ce qui ne l'est pas et si leurs conceptions seront en mesure de remplir efficacement les fonctions souhaitées.

Je rassure également mes collègues que la connaissance du codage ne signifie pas qu'il faut devenir ingénieur. Les deux se réfèrent à des ensembles de compétences différents, quoique liés. Comme l'écrivait récemment Kyle Thayer, doctorant à l'Université de Washington, le domaine de l'informatique (ou de l'ingénierie) consiste à donner aux étudiants " un aperçu du domaine scientifique de l'informatique ":

"The Le but d'un diplôme en informatique est de donner aux étudiants un aperçu du domaine scientifique de l'informatique. Bien que cela comprenne une partie de la programmation, la programmation est effectuée principalement dans le but d'apprendre d'autres domaines (par exemple, les systèmes d'exploitation, les algorithmes, l'apprentissage automatique, l'interaction homme-machine). Un diplôme CS est une bonne première étape dans le domaine universitaire de l'informatique. »

Kyle Thayer

En revanche, coder signifie simplement se familiariser suffisamment avec un langage de programmation donné pour effectuer une tâche. Demander à quelqu'un d'apprendre HTML ou JavaScript de base ne nécessite pas de devenir un architecte logiciel à pile complète. Malgré ce que certains pourraient penser, le fait de forger un repo et de copier / coller des réponses Stack Overflow ne fait pas de vous un ingénieur logiciel – mais cela peut augmenter la valeur que vous apportez en tant que concepteur à une équipe de développement de produit.

"?

Certains diront peut-être que nous entrons dans un avenir à faible code où les concepteurs (et les développeurs) pourront créer des applications grâce à la fonctionnalité glisser-déposer et une interface graphique (interface utilisateur graphique). Donc, prendre le temps d'apprendre un langage de programmation ne «vaut pas la peine». L'émergence d'outils comme Webflow Modulz, FramerX UXPin, etc., semble soutenir ce raisonnement. Et cela peut être très vrai pour de nombreuses applications – il est plus facile que jamais de créer un site ou une application sans une seule ligne de code. Cependant, si vous ne comprenez pas les principes sous-jacents, vous plafonnerez la valeur que vous pouvez offrir avec une application de code bas.

 Logos et captures d'écran montrant le code derrière les outils développés par des sociétés comme Modulz, Studio.Design, FramerX,
Modulz, Studio.Design, FramerX et d'autres applications – il y a encore beaucoup de code là-dedans … ( Grand aperçu )

Nous ne sommes pas encore au point où vous pouvez créer des applications à l'échelle de l'entreprise avec des plates-formes à faible code. En tant que designers, nous devons travailler dans le monde dans lequel nous vivons, pas celui que nous imaginons venir.

Cela étant dit, tout le monde apporte un mélange unique de compétences à la table. La connaissance du code n'est pas une nécessité absolue et elle devrait simplement être encouragée et non requise.

Par où commencer?

Il existe une quantité infinie d'outils, de langues, d'écoles, de guides et d'autres ressources disponibles pour quiconque a l'accès à Internet – alors par où commencer? Un avis de non-responsabilité important – je ne suis en aucun cas un expert ou un proche d'un ingénieur logiciel – et les éléments suivants sont des aperçus de mon expérience personnelle, pas un chemin garanti vers le succès.

Beaucoup de concepteurs / développeurs que je connais ont généralement a commencé à pirater des modèles HTML et CSS sur des sites comme MySpace, Geocities, Tumblr, Neopets ou autres. Maintenant que je me suis suffisamment daté, pour tous ceux qui commencent aujourd'hui, je recommanderais de commencer dans votre convivial interface de ligne de commande (CLI).

Le terminal: un outil essentiel

-à une application pour les réalisateurs hollywoodiens chaque fois qu'il y a un pirate informatique sur l'écran, le terminal est simplement une interface qui vous permet d'exécuter des actions via une entrée de texte plutôt que l'interface utilisateur graphique (GUI) que la plupart des gens sont habitué. Je vais laisser de vrais développeurs expliquer les subtilités et les procédures techniques mais pour notre propos, il est assez bon de savoir que se familiariser avec la CLI est bénéfique pour un certain nombre de raisons.

Le terminal donne vous accédez à la structure de fichiers et de dossiers de votre ordinateur – de la même manière que vous cliquez sur Finder ou Explorer, vous naviguez à l'aide de votre clavier dans le terminal. Il faut certainement un certain temps pour s'y habituer, mais développer votre modèle mental dans ce domaine est fondamental pour travailler dans le code.

Comme beaucoup de concepteurs, j'utilise l'environnement macOS (anciennement OS X), mais ce qui suit s'applique aux autres systèmes d'exploitation * nix (Linux, Unix), ainsi qu'à Windows PowerShell. Bien qu'il y ait beaucoup de chevauchement entre différents systèmes d'exploitation modernes, il y a quelques différences que je ferai de mon mieux pour mettre en évidence.

Expressions régulières

Une caractéristique clé d'une CLI est la possibilité d'utiliser des expressions régulières (regex) dans vos commandes. Considérez les expressions rationnelles comme des opérations de recherche booléennes (en utilisant des guillemets pour rechercher des phrases exactes ou le signe moins pour exclure des mots) sur les stéroïdes – elles vous permettent de définir un modèle dans une chaîne de texte afin que vous puissiez effectuer une action sur la sortie. Voici quelques exemples concrets:

  1. Si vous avez une longue liste de numéros de téléphone dans une variété de formats, vous pouvez définir un script qui vous donnera une sortie cohérente basée sur une expression régulière – par exemple: ( ###) ### - #### pour le format des numéros de téléphone américains.
  2. Si vous souhaitez renommer rapidement un groupe de fichiers en un cas spécifique – du boîtier kebab à CamelCase ou tout autre chose entre les deux .

Voici quelques commandes de terminal de base * pour vous aider à démarrer:

  1. cd signifie "Change Directory", tapez ceci puis un fichier ou un chemin de dossier aller – notez que vous pouvez taper un nom de dossier mais qu'il doit être à l'intérieur de votre dossier actuel pour y accéder.
  2. ls répertorie les fichiers et les dossiers de votre dossier actuel.
  3. pwd est l'abréviation de "Print Working Directory" – il répertorie où vous vous trouvez actuellement sur votre ordinateur.
  4. mkdir et un folde r name créera un dossier dans votre répertoire de travail.
  5. en utilisant cd avec .. vous fait monter d'un niveau – si vous êtes dans / utilisateurs / nom d'utilisateur / documents / 2019 et que vous entrez cd ../.. vous vous retrouverez dans / users / username .
  6. Astuce bonus – le fait d'appuyer sur la touche Tab se terminera automatiquement lorsque vous tapez un dossier / chemin de fichier.

Remarque ]: Les éléments suivants fonctionnent sur la ligne de commande Windows ( cmd ):

  • cd cd .. mkdir Onglet touche pour la saisie semi-automatique du chemin ( ls et pwd ne fonctionnera pas) .

La ligne de commande Windows plus moderne (Windows PowerShell) les prend en charge tous:

  • cd cd .. ls pwd mkdir et Onglet pour la saisie semi-automatique du chemin d'accès.

Pour une liste complète des commandes disponibles dans PowerShell, consultez la page d'aide de Microsoft « Utilisation de noms de commandes familiers ». [19659047] Gestion de fichiers en masse

Vous pouvez manipuler des fichiers et dossiers en masse via le terminal – voici quelques idées:

  1. Vous pouvez créer trois ans de dossiers avec des sous-dossiers pour chaque mois en une seule commande – en utilisant mkdir -p et {liste des années} / {liste des mois} créera des dossiers pour chaque année avec des sous-dossiers pour chaque mois. Utilisez votre imagination, je suis sûr que vous pouvez en faire bon usage!
  2. Vous pouvez rapidement nettoyer votre bureau en utilisant mv Screen Shot * Captures d'écran – cela déplacera tous vos fichiers qui commencent avec "Capture d'écran" dans un dossier nommé "Captures d'écran".
 Une capture d'écran d'une fenêtre de terminal montrant les commandes et la sortie d'un script de création de dossier.
Créez 36 dossiers sur votre ordinateur avec une seule ligne de code! ( Grand aperçu )

Remarque : Ces deux exemples ne fonctionneront probablement que dans des environnements * nix – mais la théorie s'applique toujours. Et Windows PowerShell est également un outil de ligne de commande très puissant, il vous suffit d'apprendre ses fonctionnalités et ses commandes spécifiques.

Scripting and Maintenance

Maintenant que nous avons un aperçu de la puissance des expressions régulières et des options disponibles dans le terminal, nous pouvons commencer à combiner ces choses dans des scripts . Un script très simple, mais puissant et couramment utilisé est le renamateur de fichiers de Mike G :

 critère = 1 $
re_match = 2 $
 remplacer = 3 $
 pour i en $ (ls * $ critère *);
 faire
     src = $ i
     tgt = $ (echo $ i | sed -e "s / $ re_match / $ replace /")
     mv $ src $ tgt
 done 

Ce que ce script vous permet de faire, c'est de définir la portée ( critères ), de définir ce que vous aimeriez changer ( re_match ), et ce que vous voulez pour le changer en ( remplacer ) – puis l'exécuter.

Il existe d'innombrables autres scripts que vous pouvez créer au-delà de la création et du renommage de fichiers – Le script de redimensionnement par lots de Vlad est un excellent exemple des capacités d'économie de temps que vous pouvez créer à l'aide de scripts bash.

Trucs et astuces avancés

Une chose que j'ai constatée au fil des ans est que la réinitialisation régulière de mon ordinateur et la réinstallation du système d'exploitation lui permettent de rester relativement sans encombrement et empêche les ralentissements que tout le monde connaît après des années de détritus numériques qui s'accumulent sur les disques durs. Pour beaucoup, la perspective d'essuyer un ordinateur et de tout réinitialiser au mieux sonne comme quelques jours de travail et, au pire, un cauchemar impossible dont vous ne pourrez peut-être jamais vous remettre.

Mais cela n'a pas à être – en à l'aide de quelques outils de ligne de commande une fois que vous avez sauvegardé, effacé et réinstallé votre système d'exploitation, vous pouvez installer non seulement votre liste d'applications préférées, mais également les polices en quelques minutes en utilisant Homebrew . (Homebrew est pour Mac et Linux uniquement. Pour Windows, essayez Chocolatey qui est une alternative solide.)

Si vous êtes intéressé – nous avons créé une configuration facile à suivre pour mettre votre ordinateur en bon état pour la plupart des développements. Notre guide est pour macOS, mais Owen Williams a également écrit un solide guide pour Windows .

Si vous n'avez pas le temps pour toute la série de didacticiels de Wes sur la ligne de commande – à la à tout le moins, je recommande fortement la pile suivante:

  1. Oh My ZSH
  2. zsh-autosuggestions
  3. zsh-syntax-highlighting
  4. z-jump-around

Choix d'un éditeur de texte

Il existe de nombreuses options pour choisir un éditeur de code – Sublime Text et VS Code (Visual Studio Code) sont les deux que j'ai le plus d'expérience et que j'utilise actuellement.

Sublime Text était l'un des premiers éditeurs de texte qui est devenu populaire auprès des développeurs front-end – c'était l'étalon-or jusqu'à il y a quelques années. Des fonctionnalités telles que plusieurs curseurs, un puissant gestionnaire de packages et des raccourcis hautement personnalisables qui vous ont permis de naviguer rapidement dans et entre les fichiers et les dossiers. Sans compter que c'était une application incroyablement légère et rapide qui en faisait un choix facile.

VS Code (Visual Studio Code) est entré en scène vers 2015, il a fallu un certain temps pour que les gens passent d'Atom et Sublime, mais VS Le code s'est imposé comme l'éditeur préféré de nombreux développeurs. En plus de presque toutes les fonctionnalités de Sublime, VS Code s'est différencié avec un terminal intégré et une intégration étroite avec Git . De plus, Visual Studio Code dispose d'un riche écosystème de plugins qui vous permet d'étendre et de personnaliser votre environnement à votre guise.

Tout cela pour dire – vous n'avez pas besoin d'être un développeur pour apprécier les fonctionnalités d'un bon éditeur de code. J'en ai trouvé de nombreuses utilisations dans mon travail quotidien; deux, en particulier, sont la possibilité d'utiliser plusieurs curseurs et l'utilisation d'expressions régulières pour rechercher et remplacer du texte dans des dossiers de fichiers. Examinons les deux de plus près.

Édition avec plusieurs curseurs

Imaginez votre traitement de texte typique – cette ligne verticale clignotante qui indique où ira le texte que vous saisissez? Imaginez maintenant la possibilité d'ajouter plus d'un curseur à cette fenêtre afin que tout ce que vous tapez apparaisse partout où il y a un curseur!

Cela ne vous fera peut-être pas encore exploser votre esprit – voici donc un exemple qui montre quelques façons dont un éditeur de texte avancé peut vous aider à créer des efficacités quotidiennes dans votre flux de travail.

 Une capture d'écran montrant une liste de noms manipulés et transformés en une liste d'adresses e-mail.
Édition en masse dans un éditeur de texte est beaucoup plus rapide et plus intuitif que dans une feuille de calcul. ( Grand aperçu )

Ici, nous avons une liste de noms que nous devons convertir en adresses e-mail – nous aimerions également les rendre en minuscules, puis les trier par ordre alphabétique. Cela peut être fait en quelques touches.

Utilisation d'un éditeur de texte pour manipuler rapidement beaucoup de texte dans Sublime Text (courte vidéo).

Une fois que vous avez collé la liste, Cmd + Shift + P affiche la palette de commandes (terme de fantaisie pour un menu consultable qui vous donne toutes les fonctionnalités disponibles). Vous pouvez essentiellement taper dans ce menu ce que vous voulez faire, à peu près tout ce que vous pouvez faire pour le texte est disponible ici. Si ce n'est pas le cas, il y a probablement un plugin ou une extension que vous pouvez trouver.

Nous pouvons changer la casse et trier les lignes en quelques secondes – puis en appuyant sur Ctrl + Maj + les touches fléchées ajoutent des curseurs, puis tout ce que nous tapons est ajouté à chaque ligne – dans ce cas, nous transformons les noms en adresses e-mail, mais votre imagination débordante pourrait trouver une myriade d'autres façons de l'utiliser.

Vous pourriez dire – eh bien je peux le faire dans Excel ou Google Sheets, ce qui est vrai, mais j'ai constaté qu'il est beaucoup plus rapide de gérer ce type de choses dans un éditeur de texte. Vous évitez d'avoir à écrire des formules et à sélectionner des choses avec une souris.

Quel éditeur de code devrais-je utiliser?

Je suis un concepteur – alors bien sûr, ma réponse est "ça dépend".

  • Si vous ' En ce qui concerne ces concepts, je recommanderais d'obtenir un essai gratuit de Sublime – il continue d'être une application très légère et ne consomme pas trop de ressources système. Vous pouvez personnaliser les raccourcis clavier de Sublime (mot de fantaisie pour les raccourcis clavier) et étendre sa fonctionnalité intégrée avec des plugins.
  • Si vous avez utilisé Sublime, Atom ou un autre éditeur – je ' Je recommande également de vérifier VS Code. L'équipe de Microsoft a vraiment fait un excellent travail, ce qui en fait un éditeur de texte puissant mais facile à utiliser.

Personnellement, j'utilise les deux éditeurs – Sublime est rapide comme l'éclair et s'ouvre en une fraction de seconde me permettant de facilement coller et manipuler du texte. Mais quand je veux faire un travail plus sérieux, j'utilise VS Code. Il est difficile de surpasser le package tout-en-un fourni par VS Code – un écosystème de plugins et d'extensions dynamique, une palette de commandes puissante et une interface hyper-personnalisable signifie que vous pouvez vraiment vous l'approprier. Sans parler du fait que Microsoft est très incité à s'assurer que c'est une expérience de première classe pour la productivité des développeurs.

Conclusion, et quelle est la prochaine étape?

Dans ce premier article, vous aurez appris les bases du terminal, quelques hacks de productivité pour vous aider à démarrer et devraient avoir une meilleure idée de l'éditeur de code à choisir. Dans la partie suivante, nous allons continuer avec les sujets du contrôle de version, HTML et CSS, et une introduction aux principes d'ingénierie.

Quelque chose ne va pas?

Il y a de fortes chances que quelque chose dans ce post soit obscur, obtus, et / ou obsolète et j'aimerais avoir l'opportunité de l'améliorer! Veuillez laisser un commentaire ci-dessous, DM me ou @mention moi sur Twitter pour que je puisse m'améliorer.

 Éditorial fracassant (mb, yk, il)






Source link