DEV Community

Discussion on: When do you create a function or method?

 
lobsterpants66 profile image
Chris Shepherd

Oh it helps a lot. For example I can get all staff in one line of code.
I could just put it in my code with a comment.

Or I could put it as a function in a class that handles everything to do with staff.

Later on, I needed to handle errors, so it gets a try catch block around it, plus I add caching at the staff level. All is easy because I chose to separate it out earlier.

Why do you think
//Gets all staff

Is easier to understand than
GetAllStaff()

?

I have worked in teams and on my own and after twenty years of doing this I find it a much easier way to work.

Thread Thread
 
codevault profile image
Sergiu Mureşan

Sorry for the confusion, I meant explicitly in my project in C.

Thanks for the response!

I do agree that creating functions instead of commenting out a block is better but, creating functions from code blocks that are already readable enough, albeit large but specific enough that they are never gonna be reused is what I think hurts a project. Just this specific case.

From some really good code you extract a function with a lot of parameters that is never going to be reused again will hurt maintainability.

Thread Thread
 
lobsterpants66 profile image
Chris Shepherd

I guess language makes a lot of difference.
Personally I would never create a function with more than two or three parameters, instead I would bundle them into a class.

This can seen like a lot of work but modern Ides can make it easy to do and it usually helps with understanding your problem domain better.