Snippets

TofTof Membre
août 2012 modifié dans Actualités #1
Je suis tombé par hasard sur ce site : iPhone Snippets

Le concept est intéressant et son contenu peut sans doute aider les personnes qui débutent sur iOS comme ceux qui sont sur Mac OS X (il y a des bouts de code qui peuvent être utliser sur les 2 OS)

Réponses

  • AliGatorAliGator Membre, Modérateur
    L'idée peut être sympa, mais :



    1) Pourquoi ne pas faire des snippets Xcode4 directement utilisables, ça serait tellement plus utile du coup, comme ça on pourrait les utiliser par un simple Drag & Drop de la palette "Snippets" intégrée à  Xcode4



    2) Mais surtout quand je vois des bouts de code comme ça... je reste très sceptique sur les bouts de code proposé...

    Faire une boucle pour ajouter 30 fois 1 jours, et à  chaque itération créer un objet dont on ne connaà®t rien (la classe MDay, quesako ?) représentant l'objet, ne pas utiliser NSDateComponents (mais utiliser byAddingTimeInterval qui ne prend pas en considération tout plein de subtilités, du DST aux décalages atomiques en passant par le non support des calendriers autres que les classiques Grégoriens & co), ne pas faire de release (à  moins que ce soit pour du code ARC, mais dans ce cas, ça serait bien de le préciser dans le snippet)...



    Bon après c'est un bon effort en soi, mais à  prendre avec des pincettes image/wink.png' class='bbc_emoticon' alt=';)' />
  • TofTof Membre
    'AliGator' a écrit:


    L'idée peut être sympa, mais :



    1) Pourquoi ne pas faire des snippets Xcode4 directement utilisables, ça serait tellement plus utile du coup, comme ça on pourrait les utiliser par un simple Drag & Drop de la palette "Snippets" intégrée à  Xcode4


    Ce qui manque avec le Snippets intégrée à  Xcode4 c'est la possibilité de le partager. Pas nécessairement tous les Snippets que l'on met dans Xcode. Seulement ceux qu'on voudrait partager.


    'AliGator' a écrit:


    2) Mais surtout quand je vois des bouts de code comme ça... je reste très sceptique sur les bouts de code proposé...

    Faire une boucle pour ajouter 30 fois 1 jours, et à  chaque itération créer un objet dont on ne connaà®t rien (la classe MDay, quesako ?) représentant l'objet, ne pas utiliser NSDateComponents (mais utiliser byAddingTimeInterval qui ne prend pas en considération tout plein de subtilités, du DST aux décalages atomiques en passant par le non support des calendriers autres que les classiques Grégoriens & co), ne pas faire de release (à  moins que ce soit pour du code ARC, mais dans ce cas, ça serait bien de le préciser dans le snippet)...


    Je suis d'accord il y a certain bout de code c'est franchement pas ça image/smile.png' class='bbc_emoticon' alt=':)' />



    C'est surtout le concept qui est intéressant : amener les développeurs à  partager leur expérience. ça pourrait passer par une évolution du Snippets d'Xcode pour créer une sorte de site de référence sur le Net ou carrément un plugin tiers pour gérer ça (si Apple l'autorise évidemment).
  • AliGatorAliGator Membre, Modérateur
    Bah heu sinon ça s'appelle GitHub et GIST et tu fais comme moi tu te constitue une petite base de catégories avec des fonctions sympas pour te faciliter des bouts de code génériques image/tongue.png' class='bbc_emoticon' alt=':P' />



    Sinon les Snippets Xcode sont stockés dans ~/Library/Developer/Xcode/UserData/CodeSnippets

    Donc si tu veux les récupérer pour les partager avec d'autres, c'est là  qu'il faut aller les chercher pour les copier image/wink.png' class='bbc_emoticon' alt=';)' />
  • 'AliGator' a écrit:


    2) Mais surtout quand je vois des bouts de code comme ça... je reste très sceptique sur les bouts de code proposé...






    Elle est où la bassine? J'ai très envie de vomir image/smile.png' class='bbc_emoticon' alt=':)' />
  • TofTof Membre
    août 2012 modifié #6
    'AliGator' a écrit:


    Bah heu sinon ça s'appelle GitHub et GIST


    GitHub c'est sympa mais c'est pas intégré à  la fonction de Snippet d'Xcode. image/smile.png' class='bbc_emoticon' alt=':)' />


    'AliGator' a écrit:


    et tu fais comme moi tu te constitue une petite base de catégories avec des fonctions sympas pour te faciliter des bouts de code génériques image/tongue.png' class='bbc_emoticon' alt=':P' />


    C'est ce que je fais aussi image/smile.png' class='bbc_emoticon' alt=':)' />
  • LarmeLarme Membre
    août 2012 modifié #7
    J'ai regardé vite-fait.

    C'est intéressant pour avoir une piste... J'suis pas encore assez habitué pour trouver le nom d'une classe que je ne traduirais pas ainsi naturellement parfois.

    J'préfère tout de même Googler quand même, y'a StackOverFlow, PommeDev etc. Même si je le répète, je considère StackOverFlow et Cie comme des pistes/indices/aides ponctuelles...

    Mais ça n'empêchera jamais de checker la doc sur la classe/méthode trouvée...
  • FKDEVFKDEV Membre
    septembre 2012 modifié #8
    Personnellement j'utilise directement Google pour les snippets.

    Par exemple si je dois coder un delegate de UITableView, je tape juste "cellForRowatIndexPath" et je copie/colle ce que je trouve, et après je l'adapte. Bien sûr quand je ne connais pas du tout, je vérifie la doc.

    Je n'utilise pas les snippets de Xcode parce qu'il faut d'abord les saisir.



    Le vrai plus pour moi, ce serait d'avoir une autocompletion dans Xcode qui me ramène des bouts de code pris sur quelques sites prédéfinis en exploitant la balise <code> ou les règles CSS des sites les plus connus.

    J'ai bien pensé à  faire une app de ce type, mais le problème c'est que Xcode 4 n'accepte pas de plug-in.
  • AliGatorAliGator Membre, Modérateur
    'FKDEV' a écrit:


    Personnellement j'utilise directement Google pour les snippets.

    Par exemple si je dois coder un delegate de UITableView, je tape juste "cellForRowatIndexPath" et je copie/colle ce que je trouve, et après je l'adapte. Bien sûr quand je ne connais pas du tout, je vérifie la doc.

    Je n'utilise pas les snippets de Xcode parce qu'il faut d'abord les saisir.
    En même temps une fois que tu as copié/collé ledit code une fois, un drag & drop du code dans la librairie de code snippets à  droite et hop il est gardé de côté, c'est qd mm rapide. Mais bon, je ne le fais pas non plus ^^


    'FKDEV' a écrit:
    Le vrai plus pour moi, ce serait d'avoir une autocompletion dans Xcode qui me ramène des bouts de code pris sur quelques sites prédéfinis en exploitant la balise <code> ou les règles CSS des sites les plus connus.

    J'ai bien pensé à  faire une app de ce type, mais le problème c'est que Xcode 4 n'accepte pas de plug-in.
    1) Tu peux toujours faire une appli qui fait ça on-demand. Genre qui parse lesdits sites dont tu parles et crée tout plein de snippets. Tu la lances une fois de temps en temps pour mettre à  jour ta base de snippets

    2) L'API des plugins de Xcode 4.4 n'est pas définie officiellement, mais en bidouillant il est possible de faire des plugins.

    Il existe de la litérature sur le net pour convertir un plugin Xcode3 en plugin Xcode4.



    De mon côté également, j'ai déjà  fait un plugin Xcode4 pour définir des modèles de fichiers PLIST (pour avoir des noms de clés lisibles, la liste des clés autorisées et de leurs valeurs autorisées, etc) pour quelques formats de PLIST connus (genre FileTemplate.plist) pour compléter ceux existants pour les fichiers Info.plist et Settings.bundle/Root.plist. Mais bon après, ce n'est qu'un fichier de description dudit format PLIST, encapsulé dans un format "dvtplugin", ça ne contient pas de code, donc je ne pense pas qu'on puisse considérer ça comme un plugin au sens strict, mais bon, y'a sans doute des pistes.
  • 'AliGator' a écrit:


    1) Tu peux toujours faire une appli qui fait ça on-demand. Genre qui parse lesdits sites dont tu parles et crée tout plein de snippets. Tu la lances une fois de temps en temps pour mettre à  jour ta base de snippets




    C'est pas bête et relativement simple à  faire pour la partie crawler. Mais je pense que le nombre de snippets recoltés sera trop important pour être présenté comme dans Xcode 4.

    En fait le problème de la bibliothèque de snippets, c'est qu'on risque de ne pas trouver ce que l'on cherche.

    Quand on décide de l'utiliser on risque de perdre quelques minutes à  parcourir la liste pour rien. Surtout qu'apparemment la recherche ne porte que sur les descriptions pas sur le code des snippets.

    Avec Google, on est certain de trouver, même si derrière il y a plus de travail de mise en forme.

    Après, il faudrait avoir un moyen de présenter un aperçu des snippets. Une sorte de Google Image mais pour les snippets...





    Pour que l'extension soit faisable, il faudrait pouvoir récupérer la ligne en cours d'édition ou au moins le texte sélectionné dans Xcode.
  • TofTof Membre
    septembre 2012 modifié #11
    'FKDEV' a écrit:


    Personnellement j'utilise directement Google pour les snippets.

    Par exemple si je dois coder un delegate de UITableView, je tape juste "cellForRowatIndexPath" et je copie/colle ce que je trouve, et après je l'adapte. Bien sûr quand je ne connais pas du tout, je vérifie la doc.

    Je n'utilise pas les snippets de Xcode parce qu'il faut d'abord les saisir.



    Le vrai plus pour moi, ce serait d'avoir une autocompletion dans Xcode qui me ramène des bouts de code pris sur quelques sites prédéfinis en exploitant la balise <code> ou les règles CSS des sites les plus connus.

    J'ai bien pensé à  faire une app de ce type, mais le problème c'est que Xcode 4 n'accepte pas de plug-in.


    Faire un plugin pour Xcode 4 à  priori c'est possible.

    Lis cet article : Xcode 4: Interface Builder Plugins

  • Le vrai plus pour moi, ce serait d'avoir une autocompletion dans Xcode qui me ramène des bouts de code pris sur quelques sites prédéfinis en exploitant la balise <code> ou les règles CSS des sites les plus connus.

    J'ai bien pensé à  faire une app de ce type, mais le problème c'est que Xcode 4 n'accepte pas de plug-in.




    Visual Studio garde son avance sur Xcode.
    http://techcrunch.com/2014/02/17/microsoft-launches-smart-visual-studio-add-on-for-code-snippet-search/
Connectez-vous ou Inscrivez-vous pour répondre.