How to properly use face smooth shading
You can use the Auto Smooth feature, found under object data properties panel > normals rollout.  Auto smooth produces the same smoothing result as the edge split modifier (i.e. smooths across shallow-angled edges, not whole faces) but without actually ripping the geometry.



From the docs:


  [With auto smooth] Angles on the model that are smaller than the angle specified in the Angle button will be smoothed during rendering...


Auto smooth also splits edges marked sharp as well.