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: 
The entire point of Github is *"social coding"*. 

Personally, I fork repositories when:

* I want to make a change.
* I think the project is interesting and may want to use it in the future, but have no easier way of saving it for later on the device I'm currently using.
* I want to use some or all of the code in that repository as a starting point for my own project.

> 
> Now I've heard of people collecting stamps and seashells, but why would anybody want to collect repositories?
> 
> 
> 

**Why not?**

There's nothing (that I can think of) that can go wrong from forking repositories for personal pleasure. Honestly, I keep a folder of interesting projects that I see on Github and other places simply for inspirational purposes, and partly because I'm a geek. I understand that I don't have to fork the project to read the code, but I may actually want to edit that in the future. 

Now start forking.
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.