Page 1 sur 1

Comment rendre son code incompréhensible...

MessagePublié: 07 Oct 2003 à 14:14
par Cedric
Voici un bout de code d'une appli sur laquelle je travaille.Je ne sais pas quel ane batté a écrit ça, mais voila exactement ce qu'il ne fait pas faire.Même si "Les vrais programmeurs ne commentent pas leur code. C'était dur à écrire, ça doit être dur à lire".Bon, sans plus attendre, voici l'horreur :Agent Import@Command([Compose] ; "Import") ;@Command([EditGotoField] ; "Body") ;@Command( [FileImport]) ;@Command([FileSave]) ;@PostedCommand([FileCloseWindow]) ;@PostedCommand([ToolsRunMacro] ; "Import1")Agent Import1@Command([OpenView] ; "(Import)") ;@Command([ToolsRunMacro] ; "Import2") ;@PostedCommand([ToolsRunMacro] ; "Import3")Agent Import2FIELD Form := Form ;@SetField("Form" ; "Import2") ;SELECT @AllAgent Import3@Command([OpenView] ; "(ImportText)") ;@Command([EditDocument] ; "1") ;@Command([FileSave]) ;@Command([FileCloseWindow]) ;@Command([ToolsRunMacro] ; "Import4") ;@PostedCommand([ToolsRunMacro] ; "Import5")Agent Import4FIELD Form := Form ;@SetField("Form" ; "ChampSepare") ;SELECT @AllAgent Import5@Command([OpenView] ; "(ChampSepare)") ;@Command([EditDocument] ; "1") ;@Prompt([OK]; "title";"Import Ok");@Command([FileSave]) ;@Command([FileCloseWindow]) ;@Command([ToolsRunMacro] ; "Import6") ;@Command([FileCloseWindow]) ;@Command([FileCloseWindow]) ;@PostedCommand([ToolsRunMacro] ; "Import7")Agent Import6FIELD Form := Form ;@SetField("Form" ; "FicheSecurite") ;SELECT @AllAgent Import7@Command([OpenView] ; "Securite" ; @Environment("SOPREMANomProduit")) ;@Command([EditDocument] ; "1") ;@PostedCommand([FileSave]) ;@PostedCommand([FileCloseWindow]) ;@PostedCommand([FileCloseWindow]);@PostedCommand([FileCloseWindow]);@PostedCommand([OpenView] ; "Securite")Agent Import8@Command([OpenView] ; "Produit" ; @Environment("SOPREMANomProduit")) ;@PostedCommand([ToolsRunMacro] ; "Import9")Agent Import9FIELD FicheSecurite := FicheSecurite ;@SetField ("FicheSecurite" ; "1");SELECT @All

Re: Comment rendre son code incompréhensible...

MessagePublié: 07 Oct 2003 à 15:17
par Ludovic Hermez
j'ai un truc d'une genre différent et chiant à comprendre alors que le bug est simple : oublie de mettre a jour un champ (de temps en temps)Voici mon horreur !fT := @Replace(Lang; LangList; "Bestelling" : "Commande" : "Order");fPYr := @Replace(Lang; LangList; "Op het budget van het jaar :" : "Imputez sur le budget de l\'année :" : "Budget of the year :");fYr := @If(@Month(@Today) > 10; @Prompt([OKCANCELEDIT]; fT; fPYr; @Text(@Year(@Today); "F0")); @Text(@Year(@Today)));FIELD NoBudgetOut := 0;FIELD NoBudgetIn := 0;FIELD YesBudget := 1;fP := @Replace(Lang; LangList; "Selecteer (het) de budget(ten)" : "Choisissez le(s) budget(s)" : "Select the budget(s)");PickList := @PickList([Custom]; RepIdBudgetOrderInvoice; "(" + Lang + "vwYearOrderBudgetedBy)"; fT; fP; 5; fYr + OrderedBy);@If(@IsError(PickList);@Return("");"");TestREO := @DbLookup(""; RepIdBudgetOrderInvoice; "(vwBgtRef)"; PickList; 4);TestPro := @DbLookup(""; RepIdBudgetOrderInvoice; "(vwBgtRef)"; PickList; 5);@If(@Elements(@Unique(TestREO)) > 1; @Return(@Prompt([OK]; "Budget"; @If(N;"Je mag geen budgetten selecteren van meer dan één gebouw"; F; "Tu ne peux pas choisir des budgets de plusieurs immeubles"; "You are not allowed to select budgets over several real estate objects"))); "");@If(@Elements(@Unique(TestPro)) > 1; @Return(@Prompt([OK]; "Budget"; @If(N; "Je mag geen budgetten selecteren uit meer dan één programma"; F; "Tu ne peux pas choisir des budgets de plusieurs programmes"; "You are not allowed to select budgets in several programs")));"");FIELD LookupBudgetID := @Subset(PickList; 1);FIELD LookupMultipleBudgetID := PickList;fLUMB := @DbLookup(""; RepIdBudgetOrderInvoice; "(vwBgtRef)"; PickList; "AllFields");fFirst := @ReplaceSubstring(@Implode(fLUMB; "µ"); "~~"; "~-~");fSecond := @If(@Left(fFirst; 1) = "~"; "-" + fFirst; fFirst);FIELD LookupBudgetString := @If(@Right(fSecond; 1) = "~"; fSecond + "-"; fSecond);fM1 := @Replace(Lang; LangList; "Geen enveloppe mengen met andere kostensoorten" : "Ne combinez pas une enveloppe avec d\'autres natures de frais" : "Do not mingle an envelope with other cost natures");@If((@Elements(fLUMB) > 1) & (@Word(fLUMB; "~"; 5) = "623"); @Do(@Prompt([OK]; fT; fM1); @Return("")); "");@If(@Word(fLUMB; "~"; 5) = "623"; ""; @Do(@Command([ViewRefreshFields]); @Return("")));FIELD CostNatureEntry := "";@DialogBox(Lang + "frmDialogCostClassByManagement"; [AutoHorzFit] : [AutoVertFit]; fT);@If(CostNatureEntry = ""; @Return(""); "");fCostNatureCode := @Left(CostNatureEntry; 3);fM2 := @Replace(Lang; LangList; "Je kan geen enveloppe bestellen. Kies een echte kostensoort." : "Vous ne pouvez pas commander une enveloppe. Choisissez une réelle nature de frais." : "You may not order an envelope. Choose a real cost nature.");@If(fCostNatureCode = "623"; @Do(@Prompt([OK]; fT; fM2); @Return("")); "");fCAll := @DbLookup(""; RepIdCommonElements; "vwSysCostNatureByCode"; fCostNatureCode; "AllFields");fNExpenseNature := @Word(fCAll; "µ"; 2);fFExpenseNature := @Word(fCAll; "µ"; 3);fEExpenseNature := @Word(fCAll; "µ"; 4);fsL := @Subset(fLUMB; 1);fLUBS := @Word(fsL; "~"; 1) : @Word(fsL; "~"; 2) : @Word(fsL; "~"; 3) : @Word(fsL; "~"; 4) : fCostNatureCode : fNExpenseNature : fFExpenseNature : fEExpenseNature : @Word(fsL; "~"; 9) : @Word(fsL; "~"; 10) : @Word(fsL; "~"; 11) : @Word(fsL; "~"; 12) : @Word(fsL; "~"; 13) : @Word(fsL; "~"; 14) : @Word(fsL; "~"; 15) : @Word(fsL; "~"; 16) : @Word(fsL; "~"; 17) : @Word(fsL; "~"; 18) : @Word(fsL; "~"; 19) : @Word(fsL; "~"; 20) : @Word(fsL; "~"; 21) : @Word(fsL; "~"; 22) : @Word(fsL; "~"; 23) : @Word(fsL; "~"; 24) : @Word(fsL; "~"; 25) : @Word(fsL; "~"; 26) : @Word(fsL; "~"; 27) : @Word(fsL; "~"; 28) : @Word(fsL; "~"; 29) : @Word(fsL; "~"; 30) : @Word(fsL; "~"; 31);FIELD LookupBudgetString := @Implode(fLUBS; "~");@Command([ViewRefreshFields])