Wednesday, January 20, 2016

The Practice of Programming - 程序设计实践



http://www.cnblogs.com/xiaoYu3328/p/4960055.html
正如第一章中所言:“风格的作用主要就是使代码容易读”,所以在第一章讲风格是非常合适的,它不需要多少的专业编程知识,更像是一种好的习惯,使编写出来的代码更容易读,不仅方便他人理解并使用,同时为以后的调试维护提供了便利。
· JavaBean中强制的getter和setter
· 转换对象类型的方法(toType),如toArray,toString
· 静态工厂常用名:newInstance、getInstance等等
· ....................

1.2 语句和表达式

现在的大部分IDE和编辑器都有自动格式化代码的功能,因此书中说的那种糟糕的缩进风格会比较少(不过同学们貌似都不熟悉相关IDE快捷键。。。)
关于三元运算符,个人觉得用于选择两个数中较大或者较小的数时使用三元运算符会显得较为简洁(max = a > b? a : b;),其他情况则会造成这句代码过长。
地下活动:
++自增、--自减运算符常用于循环中的计数器,一句代码中不要使用多个++类运算符,尽可能防止可能存在的地下活动
str[i++]  = str[i++] = ' ';  //i的更新时刻是不可控制的
I/O也是一种附带地下活动的操作:
scanf("%d %d", &yr, &profit[yr]);
//scanf的所有参数都在函数被真正调用前已经求好值了,所以&profit[yr]实际使用的总是yr原来的值


Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts