2009-06-17 9 views
0

J'ai deux fonctions séparées, bar() et foo(). Le flux d'exécution de mon programme censé être comme suit:conception de blocs modulaires

entrée -> bar() -> foo() -> Sortie

Actuellement, un de mes coéquipiers sur la même équipe de développement a fait une foo() appeler à l'intérieur de la fonction bar(), qui a détruit le design de modularité. Bien qu'il soit préférable, du point de vue de la conception modulaire, d'encapsuler les appels bar() et foo() dans une fonction d'encapsulation appelée procedure() par exemple, cela aurait-il une incidence sur la pile de programmes? Je prévois d'encapsuler les fonctions de la procédure comme suit:

procedure(inputs) 
{ 
    bar(); 
    foo(); 
} 

Merci d'avance pour les conseils.

Répondre

2

Le surdébit d'un appel de fonction (en particulier avec peu de variables locales) est si petit qu'il ne vaut même pas la peine de le considérer. De plus, un bon compilateur alignera les appels le cas échéant. J'ai toujours pensé qu'une bonne ingénierie devrait être la plus haute priorité, car l'efficacité globale obtenue grâce à un bon design est souvent préférable à l'optimisation de petites choses et à la création d'un gâchis de spaghetti.

+0

Merci pour vos commentaires. C'est aussi ce que dit mon instinct en termes de meilleure décision. – stanigator