记得在unix编程艺术里面看到,编程项目的核心就是对复杂度的控制。
当初感到赞同,但是经过一段时间的演练,也发现有更多的共鸣。
今天在程序中学习到的就是尽量避免写没有语义的代码,没有语义即是难以控制。
例如对于一个类成员的访问,直接写object_ptr->member,固然可以,但是项目大了,这种访问就因为没有通过一些接口而变得难以控制,这是一种增加复杂度的情况。
如果变成object_ptr->get_parent();类似这种的调用,那么就有很好的语义在里面,当有情况发生改变,语义(也即是接口)不变,但是实现变了,这样的话只需要在函数里面改变,则会对于全项目起作用。
//-----------------------------------------------------------
另外就是习惯了。
以前自己写代码水平很差,但是希望写出优雅代码的心是一直有的。
所以花大量的时间来斟酌,甚至变量的名字也要好好思考一番。
写后把文档注释都补充好,代码重构好,然后才会submit。
最近一次让我感到颇为惊讶,写完之后发现只要加些注释就够了,已经不用进行重构一些工作了-----已经语义表达的非常精炼了。
越发感到习惯的力量,也越发感觉到优雅二字应该是追求来的,和磨练来的。
而不是天赋所得。
当初感到赞同,但是经过一段时间的演练,也发现有更多的共鸣。
今天在程序中学习到的就是尽量避免写没有语义的代码,没有语义即是难以控制。
例如对于一个类成员的访问,直接写object_ptr->member,固然可以,但是项目大了,这种访问就因为没有通过一些接口而变得难以控制,这是一种增加复杂度的情况。
如果变成object_ptr->get_parent();类似这种的调用,那么就有很好的语义在里面,当有情况发生改变,语义(也即是接口)不变,但是实现变了,这样的话只需要在函数里面改变,则会对于全项目起作用。
//-----------------------------------------------------------
另外就是习惯了。
以前自己写代码水平很差,但是希望写出优雅代码的心是一直有的。
所以花大量的时间来斟酌,甚至变量的名字也要好好思考一番。
写后把文档注释都补充好,代码重构好,然后才会submit。
最近一次让我感到颇为惊讶,写完之后发现只要加些注释就够了,已经不用进行重构一些工作了-----已经语义表达的非常精炼了。
越发感到习惯的力量,也越发感觉到优雅二字应该是追求来的,和磨练来的。
而不是天赋所得。