29 votes

Quel est un bon problème de programmation d'applications à résoudre pour les débutants ?

UPDATE

S'il vous plaît ne pas poste idées de jeu . Je suis no recherche de jeu ici.

Je cherche des idées comme ; "Réseau navigateur" , "Cryptage de fichiers" , "Notepad-clone" , "Générateur de flux Rss" .

Bonjour le monde.

Je fais de la programmation de temps en temps depuis quelques années, principalement dans le domaine du développement de jeux. Aujourd'hui, je souhaite affiner mes compétences en matière de développement d'applications J'ai envie de me mettre au travail et de créer au moins une application utilisable. Je m'y connais assez bien en C#, mais j'ai l'impression de ne pas avoir encore vraiment fait d'application "utilisable".

En matière de programmation de jeux, on conseille souvent aux gens de commencer par des jeux simples tels que pong, tetris et pacman. Pong se concentre sur le fonctionnement de l'entrée, du rendu et des collisions. Tetris ajoute la résolution de problèmes par le biais d'algorithmes. Pacman ajoute un problème supplémentaire avec le comportement des agents.

J'aimerais m'inspirer d'une application simple qui résout un problème. C'est-à-dire - une "application fenêtre programme Pong". Que recommanderiez-vous comme problème d'application pour débutants qui remplit les conditions suivantes ?

  • Utilisabilité : L'application doit résoudre un problème populaire récurrent
  • Difficulté : Le problème ne doit pas être trop avancé, mais pas trop simple non plus
  • Durée de vie : L'application ne doit pas pas prendre plus de deux semaines à résoudre pour un seul programmeur
  • Fonctionnalité "riche : La demande doit être composée de menus, permettant aux utilisateurs de configurer le programme
  • Plate-forme : .Net 2.0+, C#

J'aimerais également jouer un peu avec les contrôles personnalisés des utilisateurs.

Parmi mes propres idées, citons notepad-clone, mspaint-clone, un simple programme de transfert de fichiers. Bien que je pense que ces idées constituent de bons exercices pour les développeurs d'applications en herbe, j'aimerais que vous m'en disiez plus. Qu'est-ce qui fait une bonne application pour débutants pour les programmeurs ?

PROJET ACCEPTÉ 1

J'ai décidé de faire un cryptage simple de fichiers . En fait, la bibliothèque que j'ai écrite supporte n'importe quel flux, mais je ne l'utilise que pour le cryptage de fichiers. Je ne peux pas dire que j'ai beaucoup d'applications en cours. J'ai un menu pour ouvrir les fichiers pour le cryptage ou le décryptage, et une fenêtre d'option où vous pouvez définir le mot de passe de l'algorithme et le vecteur d'initialisation. Ça a l'air ennuyeux. C'est ennuyeux au toucher. J'envisage d'y ajouter un navigateur de fichiers, pour améliorer les choses. Mais alors je pourrais simplement l'intégrer au shell.

Pour l'instant, il ne prend en charge que les algorithmes symétriques. Tout algorithme symétrique dérivant de System.Security.Cryptography.SymmetricAlgorithm devrait fonctionne, mais je ne l'ai testé qu'avec AES.

10voto

Créez un gestionnaire de mots de passe. C'est un projet parfait car vous ne devriez jamais utiliser celui de quelqu'un d'autre.

10voto

SamS Points 827

Mon conseil est d'éviter ces clones - notepad-clone, mspaint-clone - ils n'ont aucune valeur réelle autre que celle d'exercices de programmation.

Essayez plutôt de trouver un problème du monde réel et d'écrire une petite application pour le résoudre. De cette façon, vous serez plus motivé, plus amusant, et l'application pourrait finir par résoudre un vrai problème et les gens pourraient en bénéficier.

6voto

Turnkey Points 5817

Choisissez une application "Time Tracker". Il en existe quelques-unes, mais la plupart sont mal faites et vous pourriez même avoir quelque chose à partager à la fin de la journée. Un moyen simple serait de permettre l'entrée de divers projets et d'avoir un bouton de démarrage et d'arrêt pour le temps passé sur chacun d'eux. Un simple rapport pourrait être utilisé pour afficher des résumés quotidiens, hebdomadaires ou mensuels pour chaque projet.

4voto

Ben Hoffstein Points 44398

Je pense que vous êtes sur la bonne voie avec le clone de Notepad. D'une manière générale, la création d'un éditeur de texte nécessite de "toucher" à de nombreuses parties du langage -- interface graphique, manipulation de texte, entrées/sorties de fichiers, expressions régulières (si vous voulez faire de la coloration syntaxique), multithreading, etc. -- et constituerait une bonne expérience d'apprentissage.

4voto

jsl4980 Points 451

Je vous suggère de créer une application que vous utiliserez régulièrement. Pour moi, j'ai toujours voulu deux choses :

1 - Un simple gestionnaire de contacts qui stocke des noms, des numéros de téléphone, des adresses et des notes supplémentaires.

2 - J'aimerais écrire un programme de suivi du temps. Au travail, mes feuilles de temps ne sont jamais remplies à temps. Personnellement, j'aimerais avoir un programme qui s'exécute dans la barre d'état système et qui apparaisse toutes les 2 à 4 heures pour me demander sur quoi j'ai travaillé, puis qui enregistre tout cela dans un document en texte clair facile à lire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X