本书中提出工程师和艺术家,编程是工程还是文学?是科学还是艺术?本人对此颇感好奇,也是深为赞同感慨编软件之难。
以我身边的小事为例,课堂上老师经常会留一些程序作业让大家去实现,然而大家为了更快地实现功能,往往忽略了代码编程的过程。比如两个程序员,实现具有相同功能的程序,两个人都完成了程序的编程工作。但是,一个人为了更快的实现功能,程序代码冗长、复杂难懂、性能低下;另一个人的程序代码逻辑清晰、简单明了、性能还很可观。课堂上大家往往都会去选择做第一种人。选择第二种人的同学寥寥可数。由于大家沉迷于结果而忽略了过程,因此越来越多的人不再注重代码的质量,认为只要能够实现目标功能的代码就是好代码。而编程本身也被人逐渐看成是“写代码”而已。
显然编写代码不仅仅是“写代码”而已, 优秀的程序一定要满足软件质量六要素:功能性、可靠性、易用性、高效性、可维护性、可移植性。
编写代码的好坏可以体现出编程人员的能力,而编程人员的能力高低会直接影响程序的好坏。代码的编程也是一门艺术。我经常不自觉地做成了第一种人,只注重结果而忽视了编程的艺术。这本书提醒了我,在往后的编程代码中我要铭记软件质量六要素,培养自己的编程能力。