Question about editing data and when/how to present forms — web application

I'm working on a project that is a web application -- it has a lot of data that the users navigate through, most of which can be edited by the users. The data is presented on multiple pages, organized appropriately. A lot of the data is just for reference, but fairly frequently the data needs editing by the users and I'm trying to determine the best UI/UX approach.

My question is about when/how to present the form to edit the data. Here are the two options I can think of right now:

  • Present all data in forms at all times, with "Save" and "Cancel" buttons. When the user is viewing the data, the data is always presented in a form, even if they are not editing the data.

  • Present all data as normal text (not in a form). If the user needs to edit the data, they click an "Edit" button which presents a form to make changes to the data, then the user clicks the "Save" or "Cancel" button which updates the data (or cancels the changes) and the user is presented with the data again as normal text.

The second option would be more aesthetically pleasing, but would require quite a bit more coding, whereas the first option would be a bit less pretty to look at (or at least have more constraints on design options) but would be less code.

Are there any "best practices" way to do this or is it entirely personal preference?