从二零零四年初(高校二年级其次学期)加入学校就业信息网站,靠写代码取得第一笔收入,迄今已经近似六年。
第一条准则,第一搞清你的问题是什么。这一条守则无论是怎么夸大都不过头。在《Programming Pearls》第二版的开篇,Jon Bentley 讲的乃是,第一搞清你的问题是什么! 在你没详细、明确地定义好你的问题预先,你所做的多数工作只产出草包。这些年,曾经的最头疼的事,便是常常搞了一大堆货色,累活累死,甚或加班,最后总才发现很多事儿偏离了目标。但这么的事儿,总是在四周一遍一满处发作。
一个高级工程师,如果在接到一个问题时第一不是尽量挖到细致的文件,定义问题,并向懂得问题的人去反应,详细议论问题的定义。诚然问题定义不是那么简略,但不第一定义好问题,那就是不合格的高级工程师。
再有很多准则,基本上都是这个准则的衍生品。
第二条规约,搞清你要干吗,以及哪些先干,哪些后干,哪些基本就不需要做。简言之,便是把问题分解,列个表,排个先后顺序。这是半数以上程序员最蹩脚的一部分。高效率的性质不是捧着ThoughtWorks那本《行之有效的程序员》,而是我这条准则。我对Joel的书里印象最深刻的乃是相关用Excel列任务列表的一部分。
这条仍然是如斯主要,以致于闻名的YAGNI, (You ain’t gonna need it )仅仅是一条推断作罢。
当然,界别的基准是什么?It depends. 但是最主要的参考是,怎么做你能取得最大产出?或者你会在所谓的扩展性、顺应需求变更与可工作的代码,用户的需求其间选择。 最主要的仍是可工作的代码,能够准时 ship the beta!
记住,先列出来要干吗;其后分清先后顺序,其后出局那些可以不干的。
第三条守则,KISS。 Keep It Simple Stupid。用郭靖和杨过来譬喻,代码要像郭靖同样用最容易直接的形式精壮地工作,不需要太多的曲折。你的程序若是像杨过的人生那么复杂、聪明,早死翘翘了。你的程序要简略精壮地做活儿,思维越容易越好,效能和特征越少越好。
这一条关于设计是至关重要的,急躁的程序员们常常要在架设设计中引来形式、分层,又或者是绚烂的Ajax成效等等,完全是愚蒙停的自虐。我也是好些年后才清楚这条情理,直到嗣后开始使用Unix停的那些让无数人痴迷的工具,才真真地看到了这条守则的硕大威力。
要不一般澄清一下子,KISS 与你的程序是不是好用,是不是便于复用,非但不冲突,并且是相辅而行的。你要知道的只是你的程序应当做什么,其后努力抓好。挪用《Programming Pearls》开篇里法国大作家兼飞机设计家的话::“设计者确定其设计已经达到了圆满的基准是不能再减小任何东西”。
第四条规约,一键集成和适当的自动化测试。这条未几说了,在有条件的情况下做会受益非浅。
其余再有一些很知名的准则,比如 DRY (Don’t Repeat Yourself), 或许是由于一开始我就理解了这个情理(尤记得高等学校的时分把ASP代码提取函数,打包Head和Foot,将写HTML Table的打包验方法来依据不同的数据集打印,美愚。),感想没那么深。
六年了,好快
本文来源:
我的异常网
Java Exception
Dotnet Exception
Oracle Exception
- 1430 - delphi调用VC开发的DLL程序退出后报错
- 1431 - 从客户端某某某中检测到有潜在危险的 Request.Form 值
- 1432 - 端口不能访问
- 1433 - VC传递C#做tlb组件方法字符串参数报错
- 1434 - ora-0091 无效字符
- 1435 - substr错误
- 1436 - ORA-12154: TNS:could not resolve the connect identifier specified
- 1437 - ora-01031 权限不足
- 1438 - ORA-12640: 验证适配器初始化失败
- 1439 - ORA-01017: invalid username password
- 1440 - ORA-08102: 未找到索引关键字
- 1441 - EXP-00056: 遇到 ORACLE 错误 12560
- 1442 - ERROR:ORA-12514: TNS:listener does not currently know of service requested in connect
- 1443 - SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
- 1444 - ora-00907 缺少右括号错误
- 1445 - 无效的sql语句
- 1446 - Oracle创建返回值类型是TABLE函数报错
- 1447 - java.sql.BatchUpdateException: ORA-01747: 无效的用户.表.列,表.列,或列规格
- 1448 - 实例化时可以同时override吗