First, you need to understand a few rules of mapping before you get into it:
You MUST work neat in hammer, don't make a mess whenever you work in hammer.
NO empty space, when it's not needed. When creating an open space, use func_viscluster properly. And do NOT put your map inside a big skybox...