《高效程序员的修炼》 读书笔记

简介:
   
     不得不说,这是一本非常赞的书,远远强于很多夸夸其谈的口水书。
     程序员最重要的是学习能力和聪明,所以特别要求某项技能的公司一般是很low的。一个勤奋聪明的程序员,三个月工作的知识和经验,已经足够胜任这一领域普通的任务,能比得上很多在这里呆了很多年的碌碌无为的人。但是一些领域还是需要投入几千小时的专家人物。换到面试官的角度,考算法题是非常必要也是最合理的,因为它就能看出学习能力和是否聪明。
     程序员需要双显示器,好的靠椅,安静的环境,以及良好的环境光,工具就像你的宝剑,怎么奢侈都不过分。一个公司就该为他的员工投资这些,这是程序员的基本要求。
     尽量避免开会,开会是浪费时间的最佳手段,如果一定要开,请保证在一小时内完成,同时提前通知大家内容并做好准备,结束时让大家每个人都宣讲一下自己要做的内容。
     编程只是实现任务的一种手段,只是知识和经验的一种表现形式,越多代码就意味着越多的责任和bug。千万不要以代码量来衡量工作量,要么不出手,要出手就一击致命,足够sharp,足够稳健。
     与人沟通很重要,有好的同事也很重要。一个不好的同事会让整个团队沉沦。不要总是向其他人夸夸其谈所谓的最佳实践。比如在团队里强硬地推广版本控制和某本大作,你当前的口头之快虽然似乎“证明”了自己的远见卓识,但这潜在地要求别人以更多的工作量来实现它,这往往是吃力不讨好的。“好为人师”反而会引起反弹。最好的方式是“以身作则”。
     远程工作是现代常用的工作方式,不过这需要热爱写代码的专业人士,否则自控能力不强的人很容易走偏,邮件列表,skype都是良好沟通的基础。结对编程,互相review代码,都是很好交流手段。
     用户界面要够好,对使用者来说,界面实际上是软件的全部, 用户才不关心你内部用了怎样牛逼的架构和算法。程序要快,越快越好,一丝性能的提升就可能吸引更多的用户。即使很烂的web程序,也要比桌面程序强,未来是web的时代。用户是瞎子,他会直接忽略他能忽略的所有内容。所以,要把最重要的放到最好的位置上去。不要让用户去想!
     完美是不可能的,所以要尽快发布第一版,客户的意见是最好的指导,让你把资源花在最重要的资源上。
     测试很重要,单元测试能解决很多不容易发现的问题,但可用性测试更重要,软件好用吗,用户到底在怎么用它?请一些人过来用一下,你就会收到大量的反馈。
     营销很重要,它推动了你的产品。作为消费者要警惕那些利用人们普遍心理的营销,更要抵制利用低俗和下三滥手段的营销,想想那些屏幕右下角的充满色情的网页游戏广告吧。让自己的广告言之有物,真正打动人,避免所谓的大量的让人一头雾水的“专业术语”,要知道你不是那些无聊的大公司。价格是获取盈利的很重要的手段,可以试试薄利多销。
     文章在最后提到金钱观和人生观的话题。不要让自己流于俗套,日复一日地重复同样的生活。金钱确实能换来幸福,但是当到了一定数量之后,对幸福的提升就没那么明显了。经历胜过物质,一次快乐的全家旅行,价值要比冷冰冰的家用电器意义更大。让自己每天都充满期待, 分多次花钱慢慢提升所带来的幸福感,远比一次性大投入换来的暂时快乐强得多。免费的东西往往有让人不快的附加条件。多助人为乐,与人为善。
     最终的问题,一定要搞明白,作为程序员,一定要搞清楚自己殚精竭虑,夜以继日的工作的意义到底在哪里。这个问题对你适用,同样也对乔布斯和比尔盖茨适用。


作者:热情的沙漠
出处:http://www.cnblogs.com/buptzym/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

分类: 编程感悟

本文转自FerventDesert博客园博客,原文链接:http://www.cnblogs.com/buptzym/p/4501930.html,如需转载请自行联系原作者
目录
打赏
0
0
0
0
20
分享
相关文章
通过对比普通开发者与大牛们的学习策略,揭秘他们高效学习的秘诀
前端技术日新月异,大牛们如何保持竞争力?本文对比普通开发者与大牛的学习策略,揭示高效学习的秘诀:明确目标、主动探索、系统资源、注重实践、持续学习。通过这些方法,大牛们能快速掌握新技术并应用于实际工作。
103 5
|
7月前
|
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
122 1
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
113 0
编程之旅:从代码到架构的感悟
【9月更文挑战第33天】在编程的世界里,代码不仅是实现功能的工具,更是连接思想与现实的桥梁。本文将通过个人的编程经历,分享从编写第一行代码到设计系统架构的旅程,探索编程背后的哲学和技术演变。我们将一起思考,如何在代码的海洋中找到自己的航向,以及在这个过程中如何不断成长和适应变化。
C++ STL应用宝典:高效处理数据的艺术与实战技巧大揭秘!
【8月更文挑战第22天】C++ STL(标准模板库)是一组高效的数据结构与算法集合,极大提升编程效率与代码可读性。它包括容器、迭代器、算法等组件。例如,统计文本中单词频率可用`std::map`和`std::ifstream`实现;对数据排序及找极值则可通过`std::vector`结合`std::sort`、`std::min/max_element`完成;而快速查找字符串则适合使用`std::set`配合其内置的`find`方法。这些示例展示了STL的强大功能,有助于编写简洁高效的代码。
86 2
Python编程之道:提升效率的秘籍
本文探讨了提升Python编程效率的策略,包括选用合适的数据结构(如列表、元组、集合和字典),利用迭代器和生成器处理大数据,使用内置函数和库(如`map`、`numpy`、`pandas`),优化算法和逻辑,以及善用并发和异步编程(如`asyncio`)。定期进行代码审查和重构也是保持代码高效的关键。通过这些方法,可使Python代码更为流畅,效率倍增。【6月更文挑战第4天】
76 1
C++编程之旅:深入理解与实践
**C++编程基础概览** C++是一种高效、灵活且功能强大的编程语言,适用于操作系统、游戏开发、网络编程等领域。它支持过程化、面向对象和泛型编程,包含丰富的数据类型、运算符、控制结构,并提供类、对象、继承等面向对象特性。C++标准模板库(STL)提供了向量、列表等数据结构和排序算法,便于开发。通过异常处理机制,C++能有效管理运行时错误。学习C++涉及深入理解其语法、数据类型、函数、面向对象概念以及如何利用STL来编写高效代码。
程序员高效学习之道
程序员高效学习之道
109 0
|
10月前
|
【编程技巧】精通编程的秘密武器:高效编程技巧揭秘!
【编程技巧】精通编程的秘密武器:高效编程技巧揭秘!
47 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等