CALCUL DATES & JOURS FÉRIÉS

Messages postés
4947
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
- - Dernière réponse : alilerenoi
Messages postés
13
Date d'inscription
lundi 14 mars 2005
Statut
Membre
Dernière intervention
10 février 2009
- 16 janv. 2009 à 21:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48564-calcul-dates-jours-feries

Afficher la suite 
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
30 -
Plusieurs remarques :
L'idée de faire une classe pour retrouver les jours fériés est pas mal... mais malheureusement, la réalisation ne me plait pas !
- Pourquoi retourner la date de Paques (et autres) sous la forme d'une chaine de caractères ? Pourquoi pas un DateTime ?
- Pourquoi créer les DateTimes à partir de DateTime.Parse(), il suffit d'utiliser le constructeur de DateTime : DateTime(year, month, day)

Finalement, je n'ai pas tout lu...
DCTC33
Messages postés
3
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
13 décembre 2008
-
Bonjour,
Quand on a son premier PC et que l'on écrit son premier IF à 50 balais on fait comme on pense et surtout comme on peut.
Et oui les vieux essayent, ils ne sont pas bons, ils s'en foutent, ils prennent les conseils et essayent à leur manière de participer.
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
30 -
Ce n'est pas parce qu'on est vieux qu'on est dispensé de penser.
Mon premier commentaire n'a rien de méchant... je te donne juste des conseils.
On commence tous un jour... toi c'est l'informatique, moi, c'est la photo !
DCTC33
Messages postés
3
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
13 décembre 2008
-
Bonsoir,
Mais perso, je n'ai rien vu de méchant. Et dans la réponse je ne vois pas ce qui choque il me semble qu'au sujet des conseils j'écris bien que je les prends.Quand au reste,quoi je ne serai jamais informaticien, je confirme je m'en moque, je m'amuse
Quant à penser !!! on est si bien à ne pas y penser,assayer de réfléchir est déjà bien assez fatiguant.
Allez à la prochaine.
cs_petifa
Messages postés
215
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
10 mars 2014
-
slt
l'age ne change pas au fait que quelqu'un qui débute est débutant. Mais bon j'ai quelques remarques à premier abord.

- Dans ta classe : J_Paques
# public string Jour_Pacques(int Annee)
# {
ton traitement est assez complexe, il serait plus judicieux d'utiliser des variable plus compréhensibles que a, b ...e

- ta fonction mod est inutille tu peux mettre directement
# int a = Mod( Annee, 19);
int a = Annee%19;

- Dans la classe Jours_Feries
# public DateTime[] J_Feries = new DateTime[13];
Cette variable devrait etre en private

-sinon, je suis d'accord avec sebmafate, utiliser un PARSE prend du temps car il y a des traitements derrirèe pour convertir une chaine de caractère en Date. Utilise le constructeur de DateTime, ca sera plus efficace et evitera les erreurs de conversion (En anglais et francais le jour et mois sont inversés)
# private void JourFerie(int Annee)
# {
# J_Feries[0]= DateTime.Parse("01/01/" + Annee.ToString());
J_Feries[0]= new DateTime(Annee,1,1)

- Ensuite cette structure n'est pas tr_s valide : utilise un mutateur (c'est à dire une fonction pour modifier directement une variable de classe
# public int Annee // Année
# {
# set
# {
# AN = value ;
# JourFerie(AN) ;
# }
# }
par exemple :
public setAN(int Annee)
{
this.AN = Annee;
this.JourFerie()
}
et dans ce cas la variable Annee dans JourFerie() , remplace la par this.AN
Tu devrais faire de meme pour toutes les autres fonctions que tu as mis comme ca, cela allègera le code

- Idem pour les autres fonction :
# public string Pacques
# {
# get
# {
# return J_Feries[1].ToLongDateString().Substring(0, J_Feries[1].ToLongDateString().Length - 4) ;
# }
# }
Remplace par
public string Pacques()
{ return J_Feries[1].toString(); }

-Dernière chose, tu devrais mettre des commentaires,
# private void Calcul()
# {
On ne sais pas en lisant le titre ou les commentaires ce que fait cette fonction.

Voila je ne peux dire que ca pour le moment
j'ai pas regardé le code pour l'affichage ...