It is quite obvious that we have to create computed fields in Sitecore, to process some of the information well before it get indexed, and not processing it while requesting for the data.
There are chances when you don’t find any value to be added to you computed field, in those cases we can return either null or String.Empty().
Returning null basically tells that there is nothing to be indexed, and it won’t take any space in your index, but when we return string.Empty() , it actually creates an entry in index with no value.
Returning String.Empty() is helpful when you want to validate something based on empty string, but most of the case it is not worth.
Also, consider a case when you are dealing with several thousands Sitecore items, and if you are going to return String.Empty() for few thousands also, it will just get indexed that takes up space in you index.
We should carefully think about this, if there is a need to return String.Empty() we should do the same, but if not we should always try to return null.
Hope this helps someone.
Happy learning 🙂