关于注释:
1、我确实有打算编写一个完整的注释,便时间精力有限,得以后再考虑补上。
2、关于算法说明:这是一个比较大的项目,工作量与编写《寿星万年历》的源代码部分花费的时间可能差不多,只能以后再考虑了。编写一个《寿星万年历》,花费在编写内核代码上的时间,占20%左右,花费在修补Bug及调试、版面设计等的间大约在20%左右,花费在算法设计上的时间大约占40%,花费在算法所需的基本数据的整理、提取上花费的时间约为10%,写说明书5%至10%。
举例来说:为了画出《寿星万年历》中的那个地图,我经常躺在床上想算法或在网络上找地图等,使用什么方法可以在万年历中整合一个地图?我花费了几天时间,每天可能半小时,这是算法的设计阶段。然后我花费了6个小时,提取地图数据,后来我又花费了3个小时把地图整合到万年历中,并作调试。
但不管怎么说,以上没有涉及算法的详细说明,仅在帮说明中涉及少量的说明。要写一个完整的算法说明,可能需要一两个月吧。
目前《寿星万年历》的源代码约200k,其中库数部数约占70k,注释30k,程序代码80k,htm页面代码20k
《寿星万年历》中的源代码大量使用“物件”、“类”的方式实现,在没有足够注释的情况下,确实会给程序阅读造成困难。
使用“类、物件”也有很多很处,他可以帮助程序员处理多达几万行的代码,如果使用“函数”来管理程序,处理2000行以上的代码就会有点力不从心。当你管理程序觉得轻松后,就有足够的精力来优化程序的性能。很多程序使用函数来管理,虽然也很长,但大多数是数据库造成的,内核程序不长,所以他们会使用函数来管理。这是我个人的一些观点。如果javascript不提供物件或类等基于“对象”功能,我不会使用javascript来编写万年历的,而会考虑使用c++。不少人说,《寿星万年历》运行速度比较快,这正是因我本人花了不少时间优化程序的结果。
总之,使用“函数”与“物件、类”各有优点,各人的习惯不同就有不同的选择。