2009-11-05 4 views
0

C'était mon deuxième projet C#, entrepris il y a des années, et il a survécu, car (à mon humble avis) c'est un logiciel vraiment utile. C'est aussi mal conçu et le code est embarrassant.Est-ce que cet utilitaire est assez utile pour s'embêter avec CodePlex?

Il exécute le code C#. Vous écrivez une méthode, le nom de la méthode apparaît dans une zone de liste, vous double-cliquez sur le nom de la méthode pour l'exécuter. C'est tout.

Exemples:

Quand j'ouvrir mon projet C# Web au travail, une méthode exécute une fenêtre de commande quelques applications mes besoins du projet, et des contrôles pour confirmer que le service requis est écoulé. Je n'ai jamais à me souvenir de ça. Je déteste UPPERCASE, donc j'ai une méthode qui utilise des minuscules SQL, mais préserve le cas des chaînes entre guillemets. Une autre méthode appelle un service Web pour embellir SQL. Ces deux fonctionnent dans le presse-papiers. Une méthode corrige les noms des fichiers MP3: habillage du titre, remplacement des traits de soulignement et des tirets, éventuellement suppression/insertion de texte ou ajout de numéros. Crée une playlist

Je double-clique pour récolter tous mes liens Twitter, les transformant en une page HTML avec des hyperliens et une recherche basée sur jQuery.

Une méthode recherche le journal log4net.log spécifié pour chaque opération qui a duré plus longtemps que le nombre spécifié de millisecondes.

Je peux créer un point de restauration en double-cliquant sur une méthode (et ouvrir la boîte de dialogue correspondante avec une autre méthode).

Lorsque ma femme a dû écrire des algorithmes de tri pour l'école, l'utilitaire était un banc d'essai idéal. Je l'utilise pour tester des morceaux de code tout le temps.

Aucune de ces méthodes n'est impressionnante. Pas de gros truc de cerveau. La plupart d'entre elles ne sont que de la manipulation de chaînes, des opérations de système de fichiers - des trucs banals. Pratique cependant!

Ce matin, j'ai voulu mettre en forme une sortie SQL sous forme de lignes dans un tableau Excel. J'ai écrit une méthode pour lire la sortie et la formater en colonnes délimitées par des tabulations, pour les importer dans Excel. Je ne sais pas comment j'aurais pu faire autrement. Il a fallu environ 8 minutes pour écrire.

J'ai 300 méthodes, peut-être 50 qui sont souvent utiles, le reste là si l'occasion se présente. De temps en temps je déplace le vrai cruft dans le groupe Zaps, donc c'est à l'écart.

L'utilitaire a beaucoup de fonctionnalités faciles à utiliser. Je préfère le clavier à la souris, donc les méthodes sont étiquetées dans des groupes accessibles à partir d'une liste déroulante: control-T sélectionne un groupe différent. Vous ne vous souvenez pas du groupe? Vous entrez control-F pour trouver toutes les méthodes correspondant à une chaîne. Flèche vers le bas et appuyez sur pour exécuter la méthode. La fenêtre des paramètres se souvient toujours de son état: si vous avez entré Hoytster la dernière fois, elle est là cette fois. Vous pouvez cliquer avec le bouton droit sur une méthode pour voir son info-bulle; double-clic-droit pour voir sa source.

J'ai essayé de faciliter la création de nouvelles méthodes rapidement.

Une méthode génère le prototype de votre nouvelle fonction: vous entrez le nom de la méthode, l'étiquette de groupe, l'info-bulle, etc., et la nouvelle méthode est créée avec les décorations d'attribut requises. Le prototype est placé dans le presse-papiers afin que vous puissiez le coller dans l'un des fichiers source de l'utilitaire.

Il est facile pour demander des paramètres:

... GetParameters (,, "Ouvrir le rapport [Non, Oui]" "Fichier @Report" "* fichier cible");

ouvre une fenêtre avec des zones de texte intitulées Fichier cible et Fichier de rapport, et une case à cocher Ouvrir un rapport avec du texte qui permet d'activer et de désactiver les chaînes dans les accolades. Le fichier cible doit exister, en raison de l'astérisque initial; la fenêtre des paramètres ne se fermera pas si un fichier cible invalide est entré. Le fichier de rapport doit être valide (il peut être créé) en raison de la @ -sign.

Lorsque vous exécutez la méthode et la fenêtre des paramètres apparaît, il a un [Capture] bouton vous cliquez pour générer le code nécessaire pour capturer les paramètres de retour, le mettre dans le presse-papiers à nouveau:

chaîne TargetFile = paramètres ["Fichier cible"]; ... booléen openReport = paramètres ["Rapport ouvert"] == "Oui";

Ach, je vais trop longtemps.

Alors, à quel point devrais-je être ambitieux? CodePlex? Peut-être un site web dédié, où les gens peuvent télécharger leurs méthodes? Obtenir l'utilitaire de publication prêt à l'emploi serait beaucoup de travail. Je dois nettoyer le code; enlever les méthodes vraiment stupides et les méthodes jamais finies; créer un casting d'écran du processus "faire une nouvelle méthode", documenter le "méta-langage" de l'adolescent (langue-dans-joue) qui conduit la fenêtre de paramètres.

J'aime l'idée que vous utilisiez mon utilitaire pour être un peu plus productif. J'aime l'idée de voir quelles méthodes vous inventez et partagez. Il n'y a aucun doute là-bas, mais je ne suis pas au courant des endroits sur le net où les gens partagent du code aussi simple qu'une méthode "Fixer les noms de mes MP3s".

Souhaitez-vous avoir cet utilitaire? En plus d'être surmené et paresseux, je n'ai jamais mis en place un site web (!) - et vous pourriez vous moquer de moi parce que ma méthode GetParameters() a environ 200 lignes (ma mauvaise excuse: J'ai commencé avec FORTRAN). Cet utilitaire n'a jamais été conçu. il accrété. :)

Alors laissez-moi savoir: pensez-vous que cet utilitaire est assez utile pour mettre en place sur CodePlex (ou somplace)?

Merci d'avance! - Hoytster

+0

Perdu vous, Quelle est la question? – vehomzzz

+0

"Et vous pourriez me railler parce que ma méthode GetParameters() a environ 200 lignes" ...Non, je me moque de toi pour avoir tapé. De toute façon, mettez-le sur CodePlex, si personne ne le veut, personne ne le prendra. Je ne pense pas qu'il y ait de mal à cela. – Brandon

+0

Je ne peux pas comprendre ce que c'est, mais je suppose que ce n'est pas une chose de codeplex. Publiez-le sur votre site web si vous pensez que c'est un bon utilitaire. – Cheeso

Répondre

1

Mettez-le sur CodePlex et apprenez-en l'utilité. Si c'est très utile pour beaucoup de gens, commencez à créer une communauté autour comme le site dont vous avez parlé. Si cela demande beaucoup de travail et que vous ne savez pas si cela peut être utile pour les gens, commencez petit avec votre niveau d'effort et continuez votre progression.

J'ai fait exactement la même chose avec mon URL Rewriter que j'ai développé, qui était basé sur Apache mod_rewrite, pour le framework .NET.

http://urlrewriter.codeplex.com

j'ai commencé petit et que les gens ont demandé nouvelle fonctionnalité et commencé à l'utiliser de plus en plus, l'effort est devenu facile à justifier.

Questions connexes