Quel code réutilisable chaque développeur devrait-il avoir dans sa boîte à outils? [fermé]

StackOverflow https://stackoverflow.com/questions/474878

  •  19-08-2019
  •  | 
  •  

Question

J'essaie de créer une bibliothèque de code réutilisable à utiliser d'un projet à l'autre. Au moment d’écrire des extraits de code et des composants, j’essaie de choisir les bibliothèques à utiliser au mieux de VS à long terme. Vais-je vraiment les utiliser à nouveau?

Quel code ou quels composants réutilisez-vous que chaque développeur devrait avoir?

Je suis principalement intéressé par .net web et winforms.

Était-ce utile?

La solution

Expressions régulières pour vérifier

  • date de validité
  • Numéro valide
  • Entre deux dates
  • Zip
  • Postal
  • Âge
  • Plage de numéros

En fonction de la langue car certaines de ces fonctionnalités sont déjà disponibles

Autres conseils

Un système d’exploitation * nix (Unix, Solaris, Linux, MacOS, Cygwin) et c’est "classique". ensemble d'utilitaires de ligne de commande.

Les moyens de fusionner, de mélanger, de cuire, de déchiqueter et d’abuser de ces concepts fondamentaux sont incommensurables.

Personnellement, je pense qu'un bon cadre devrait fournir ces outils, pas vous. Sinon, la bibliothèque par défaut du langage (Java est un bon exemple).

Cela dépend du type d'applications que vous écrivez. Donc, je ne pense pas qu'il existe une véritable boîte à outils pour tout problème. (Ou ce devrait être le cadre).

Nous avons plusieurs applications et une bibliothèque inter-applications. Cela contient beaucoup de code:

  • Fonctions d'impression.
  • Traitement des formes (nous faisons beaucoup de formes et de polygones)
  • calculs dB
  • comportement général des applications (style de maison).

Chaque fois que nous avons quelque chose dans une application qui peut être utile pour d'autres applications, il est déplacé vers la bibliothèque.

  • Code de mise en commun de la base de données
  • Journalisation
  • Manipulation de chaînes et de collections
  • Maintenance IoC (annotations ou XML)
  • Gestion des fichiers et des répertoires

Certains d'entre eux peuvent être fournis avec une machine virtuelle ou des bibliothèques standard, mais vous aurez toujours besoin de quelque chose de plus.

Je travaille depuis un petit moment sur la création d'un ensemble de code réutilisable pour c #. En ajoutant 1 composant à la fois et, ce qui est plus important, en utilisant le framework pour une application réelle, j'ai finalement rendu le framework défaillant simple, bien documenté et avec divers "modules". qui ont tendance à être utilisé encore et encore.

Découvrez-le à CommonLibrary.NET sur CodePlex

.

C’est un peu plus simple et léger que SpringFramework et MS App Blocks.

Il comprend des éléments tels que: 1. Analyse des arguments / options 2. Classes ActiveRecord / Domain Model 3. Collections 4. Validation et beaucoup plus ..

Je pense facilement à:

  • Modèles de liste chaînée
  • Modèles d'arborescence rouge-noir
  • Mini-API d'initialisation de base de données (pour votre base de données préférée ou votre couche de persistance)

Je pense que cela variera considérablement en fonction de la langue et de ce que le cadre que vous utilisez peut offrir. Une grande partie du code réutilisable nécessaire serait dans un cadre moderne.

La réponse dépend de votre objectif : créer souvent un objet "réutilisable". demande plus d'efforts au début, mais bien sûr, rapporte plus tard une fois réutilisé - à condition bien sûr qu'il soit vraiment réutilisable. Parfois, cette capacité est surestimée ... IMO ...

La vraie réponse à cette question sera résolue au fur et à mesure que vous écrivez du code - lorsque vous vous trouvez en train de dire, eh bien, je viens d'écrire quelque chose comme cela la semaine dernière.

Ma "boîte à outils" se compose de chaîne, maths, réseau, base de données, fichier, journalisation et de nombreuses autres "bibliothèques". routines (assemblées, etc.) que je peux rapidement inclure comme références. Bien sûr, la clé pour en faire une bibliothèque vivante consiste à garder le code de ces éléments de bibliothèque vraiment séparé de l'application / du code en cours de développement.

espérons que cela aide ...

excellente question

  1. mise en cache au niveau de l'objet métier
  2. ma propre boîte à outils d'authentification personnalisée
  3. sélecteurs jquery
  4. css pour les formulaires, les onglets et les éléments d'interface utilisateur
  5. chiffrement et hachage des mots de passe, etc.

Bien que je commence à remplacer mes données par une bibliothèque d'entreprise - http: //msdn.microsoft.com/en-us/library/cc467894.aspx - au moins, il s'améliore avec le temps et a beaucoup plus d'attention que ses implémentations

En .Net:

  • Les méthodes d'extension qui ne sont pas dans .Net Framework (ForEach, AddRange, RemoveWhere, etc)
  • Switch.Type (pour les visiteurs)
  • Validation des arguments de base (Argument.EnsureNotNull)

C'est presque tout, diverses bibliothèques gratuites couvrent le reste.

Authentification PKI

Mes deux:

  • Injection de dépendance , pour que vous puissiez le rendre plus testable; et ne pas compter sur une seule implémentation d'un singleton.

  • Modular / Plugins . C’est aussi une bonne idée de rendre cela mocable, afin que votre code client puisse être testé sans invoquer un système de plug-in complet.

Il existe plusieurs implémentations des deux, bien que parfois vous ne pouvez pas éviter d'écrire votre propre. : (

Analyser les classes

Classes de manipulation de date

cours de messagerie

classes de validation

En tant que mainteneur de code fatigué et mécontent, j’examinerais cette question sous un autre angle: quel code le projet doit-il utiliser, pour éviter que sept * développeurs créent sept solutions différentes, qui nécessitent sept modifications lorsque quelque chose change (après avoir découvert que sont sept solutions différentes).

Je suppose que la plupart des gens considèrent la réutilisation comme un outil d’efficacité lors du développement initial et oublient que c’est également la clé d’une maintenance efficace.

* Je pense qu'il n'y en a que sept, mais je suis encore en phase de test.

Une classe Money pouvant gérer la devise, la distribution, les opérations arithmétiques et le formatage.

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