《代码大全》是本好书啊,推荐所有有志于改善自己的程序,或者在编码上寻找进一步提高的人应该仔细研究研究。以下是摘抄自《代码大全》第二版中谈到关于怎样的代码格式更适合人类阅读,更能令人愉悦的Check List。对照List进行自检和反省,令人欣慰的是List中80%以上我都做到了,在我的上一个项目中做得比较失败,由于时间的原因,很多注释没有加上,逻辑也不够清晰。在重构中解决,借此反省。
一般问题:
格式化主要是为了展现代码的逻辑结构吗?
2、你的布局方案能统一运行吗?
3、 你的布局方案能让代码易于维护吗?
4、你的布局方案是否有利于代码的可读性?
控制结构的布局
1、你的代码中避免begin-end 或对{}的双重缩进了吗?
2、相邻的块之间用空行分割了吗?
3、对复杂表达式格式化时考虑到可读性吗?
4、对只有一条语句的块布局始终如一吗?
5、case语句与其他控制结构的格式化保持一致了吗?
6、对goto语句格式化是否让其显眼了呢?
还好目前PHP只有5.3以上版本才会有goto
单条语句的布局:
1、为逻辑表达式、数组下标和子程序参数的可读性使用了空格了吗?
2、不完整的语句在行末似乎以明显又错的方式结束吗?
3、后续行按照标准数码缩进了吗?
4、每行顶多只有一条语句吗?
这一点是团队中比较头痛的问题,很多人不按照这个规则来做,结果它成了一种风气
5、所写的每个语句都没有副作用吗?
6、每行顶多只声明一个数据吗?
注释布局:
1、注释与其所注释的代码所尽量相同吗?
2、注释风格便于维护吗?
子程序的布局:
1、你对每个子程序的参数格式化方式便于看懂、修改、注释吗?
2、采用空行分割子程序各部分了吗?
4、文件中子程序用空行清楚分开了吗?
5、在没有更好的组织形式的场合,所有子程序都按字母排列了吗?
这一点我没有做到,没有做到是没有想到这一点,以后编码注意了……
代码格式规范的List
上海Think In Lamp 聚会记
关于创业
1、创业不是因为钱多,而是在现在的岗位上可能遇到天花板或者因为兴趣
2、25岁还没创业,那么只能等到35岁了,主要理由是,年轻的冲劲没了,就只能等到真正稳定下来才能去创业,当然前面的年龄只是个描述,并不是严格的界限,只是为了说明在年轻的几年中,有一段时间出去创业的几率很小,而且成本很高
3、盯住小众而高端的市场并一定比大众的市场来钱少,反而更容易做口碑。
4、目前的体制下,政府或者国企的钱最好赚
5、中国穷人多,富人也多,有人愿意出钱玩玩
6、不做培育市场的事情,创业之前做好在中国这个山寨文化很浓的国家被人模仿和抄袭的准备
7、创业是很痛苦的,也是走向更高层次的最好机会之一
关于职业发展:
1、在一个公司的发展是有限的,盯着那个位置不一定能坐到,跳槽或许是捷径
2、薪水是影响选择职位的一个因素,但不是最重要的元素,开心和有成就感更能留住一个人。
3、跳出IT圈子,IT不过是一个工具,不管是电子商务,还是内容提供,娱乐提供等,最需要工具的并不是互联网,而是传统行业,做传统行业更能带来效益和收获。
4、国内的企业和国外的企业还是有很大差距的,不仅仅是薪水,最重要的职业发展方面,国外的企业很舍得花钱在IT方面,来提高生产效率,会为员工提供更多的培训机会和学习机会,甚至有强制学习制度保证员工不断进步和提升
5、站在传统行业看互联网行业的一些技术工作从事者,很多纯粹似乎自虐,大部分企业系统根本不需要承受千万PV,根本不需要负载均衡,根本不需要浏览器兼容,什么也不需要,他们只要能用就行,能快速解决问题、能带来效率提升的就是最好的。
6、每个人的职业都有天花板,或许出去创业一下,更能知道自己想要什么
7、创业不成功者去面试一个更高层次的岗位时,往往能得到更多的信赖和机会
使用Firefox+foxyProxy+SSH翻山越岭
每次我说能够自动进行代理访问一些被和谐的网站时候,别人都要问我一遍怎么弄,如果是身边,倒是好说,我随便帮你弄下就好了,如果是通过IM工具来问的朋友,我就不知道该怎么回答了,如果对方仅仅是为了翻山,而且计算机基础一般的话,那就更说不清了,我觉得我有必要搞个图文并茂的文章,下次,别人问我的时候,我就可以直接把这个链接给他了。
PS:转载请注明出处,请各位手续留情,谢谢。
完成配置的前提是你必须要有一个可以使用的SSH帐号,并且服务器是在墙外,比如美国、香港等地,如果你没有,你可以在此留言或者联系我,我不能保证你能获取到一个免费的SSH帐号,可能我可以告诉你一些获取途径和方法。
1、下载firefox, 并且双击安装好,如果你已经有firefox,省略此步,下载地址:http://www.mozilla.com/
2、安装FoxyProxy扩展:如果你已经有这个扩展,省略此步,安装地址:https://addons.mozilla.org/zh-CN/firefox/addon/2464 ,点击打开的页面上的“安装到Firefox”,然后会问你是否允许,点击允许,如果没安装,再点一下“安装到firefox”按钮,重启firefox
3、下载MyEnTunnel, 你也可以使用Putty 或者 plink这样的工具,但是会多出来一个黑乎乎的窗口,很烦,这个小软件可以避免这样的问题,下载地址: http://dl.dropbox.com/u/140847/setup_myentunnel.exe ,下载完成后双击安装文件,完成安装。
4、启动MyEnTunnel, 在setting选项卡中,大致的设置如下图:
SSH server中填入你的SSH服务器IP地址,SSH port是SSH帐号端口,一般默认即可,后面是你的用户名和密码,其他的设置正常情况下照抄即可
5、设置foxyproxy,点击firefox右下角黄色的狐狸图标,按照下面的图示进行设置:
新建代理服务器:
设置代理服务器名称,推荐勾选上perform remote dns的选项,防止DNS劫持:
设置代理服务器地址及端口,如果你的MyEnTunnel按照我上面的图配置,并且连接成功,那么此配置依然可以照抄。
设置代理模板,在访问Web的时候,foxyproxy会自动根据你访问的地址,来跟这个模板进行匹配,如果成功,则使用代理,如果不成功则不使用,这样做的好处是,当你的时间大部分是在浏览没有被和谐的网站时,就不用走代理服务器,这样既能给你带来速度也给代理服务器节省流量,一举多得啊。
上图中我用了一个twitter的例子,按照上面的设置,你在访问twitter时,会自动使用代理,访问其他网站则不会使用代理,非常方便。
这仅仅是个新手的教程,老鸟请略过,前面说了,只是为了以后给新手普及翻山越岭本领的时候,少说几句。
程序语言评估标准
1、可读性。判断一个语言的优劣的一个最重要的标准是用它写的程序要好读,好懂。
一种语言的整体简单性极大的影响着他的可读性。一种具有大量基本结构的语言较只有少量基本结构的语言要难学得多,当然,过少也会非常难学,汇编就是如此。
2、正交性。正交性是指使用该语言中一组相对少量的基本结构,经过相对少的组合步骤,可以构成该语言的控制结构与数据接哦股。而且,它的基本结构的任何组合都是合法和有意义的。
3、控制语句。在20世纪50年代和60年代,一批程序设计语言由于缺乏控制语句,导致很差的可读性。随后的语言都兴起了结构化程序设计的革命。尤其是人们普遍意识到滥用goto会降低程序设计的可读性。
4、数据类型和数据结构。在程序设计语言中给出定义数据类型和数据结构的合理机制,是语言可读性的又一个重要辅助。
5、可写性。可写性是程序设计语言的在应用领域产生程序的难以程度的一种度量。大多数影响可读性的语言特征可以影响可写性。
6、支持抽象。抽象指的是以合法的省略许多细节的方式,来定义并且使用复杂结构或复杂运算的能力。
7、表达性。语言的表达性可以指语言中几种不同特征。一种是具有一些功能很强的运算符。一种是程序语言具有相对方便,非繁琐的方式来说明运算。
8、可靠性。如果一个程序在任何条件下的运行都能 达到他的说明标准。我们称这饿程序是可靠的。
9.代价。第一是训练程序员使用这种语言的代价。第二是使用这种语言来编写程序的代价。第三是编译程序的代价。第四是程序运行的代价。
OUTLOOK2007最小化到托盘显示
由于公司的提供邮箱实在是小,而且几乎可以说是没有Web界面,出于有条件的情况下,一定使用正版和与大家保持一致的原则,选择了outlook 2007 ,这家伙居然默认不支持最小化到任务栏~~~ OUTLOOK启动后最小化总是在任务栏上占一个位置,工作起来碍事, 最后修改注册表解决之。
1.打开注册表 : 开始菜单 -> 运行, 输入”regedit”并回车
2.打开HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Preferences项目
3.建立一个DWord的值(双字节值),名称为”MinToTray”, 取值改成 1
4.关闭注册表编辑器, 如果Outlook 2007运行中,关闭.
5.启动Outlook2007, 此时系统托盘区已经有一个Outlook2007的小图标了, 当你把Outlook2007最小化的时候, 它就会自己缩到托盘区了.
最后不得不感叹一句,这年头,微软的东西也设计得不易用啊~~