Question: I have a question regarding generalization. I know when it is needed to be done, but is it worth having an extra class for 1 field?

e.g.:

`StatisticsCustomer` has fields: `Customer customer` and `int projectCount`
`StatisticsCountry` has fields: `Country country` and `int projectCount`

What is best in this situation? Creating an extra class just for projectCount or keeping it twice in the two classes?

Answer: 
In our line of work we tend to look for technical reasons, but in my opinion the primary reason isn't technical. If you look at [GitHub Help](https://help.github.com/) or other GitHub tutorials, forking a repo is one of the major steps for how you "do" GitHub. 

When people are learning and evaluating GitHub, just about every tutorial out there is going to tell them to fork a repo as part of that learning process. Since the primary purpose of GitHub is to contribute, a lot of people working through the standard tutorials don't realize if you just want a read-only clone you don't have to do a fork first.
I fork a lot of repos that I might want to use the code, or if it's a project I'm interested in. When I want to come back and have another look at the code later, it's easier to find if it's listed under my repositories. I don't have to google, or bumble around trying to remember what the name was exactly or thinking "where did I see that repo about foo again?" If it's among my repos it's easier to be reminded of these things.