On Thu, Sep 19, 2013 at 06:28:32PM +0200, Simon Dániel wrote:

> Hi,
> I am working on an OOP project, and cannot decide which way to follow when
> I have to write a simple function.
> For example, I want to write a function which generates a random string. In
> an OOP environtment, it is a matter of course to create a static class and
> a static method for that. But why? Isn't it more elegant, if I implement
> such a simple thing as a plain function? Not to mention that a function is
> more efficient than a class method.
> So, in object-oriented programming, what is the best practice to implement
> such a simple function?

"Best practices" are for academics and people who read Datamation.

You have to look at why OOP exists and then ask yourself if the function
you wish to create really needs any of the values that attend OOP. You
also have to look at how simple your code is to read and understand.
Based on what you've described, there would appear to be absolutely no
value in making it into a class with a static method. In that case, all
you would have done is to add an extra level of complexity to your code.
If I were a programmer coming in after you to work with your code, I'd
ask myself why in the world you did that. And if feasible, I would
change it back to a flat function for the sake of simplicity.

Always prefer non-OOP unless you have some compelling reason to make
something object-oriented. For example, the interface to a DBMS is
something which may involve many many functions. It is definitely
something which benefits from OOP code, not flat functions. I've
personally found that dates benefit from this same treatment.


Paul M. Foster

PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to