开心一笑
【某生上课时睡觉,被老师发现。
老师:“你为什么在上课时睡觉?”
某生:“我没睡觉哇!”
老师:“那你为什么闭上眼睛?”
某生:“我在闭目沉思!”
老师:“那你为什么直点头?”
某生:“您刚才讲得很有道理!”
老师:“那你为什么直流口水?”
某生:“老师您说得津津有味!”】
提出问题
项目开发中基本工具如何使用???
解决问题
以下来自《程序员修炼之道》自己的一些总结:
好的工具放大你的才干
你的工具越好,你越是能更好地掌握它们的用法,你的生产力就越高。
要与工匠一样,想着定期增添工具,要总是寻找更好的做事方式:比如操作系统,能用win10就不要用win7的了,office能用2016版的就不要用2010版本的。
如果你遇到某种情况,你觉得现有的工具不能解决问题,记得去寻找可能会有帮助的其它工具,或更强大的工具。
纯文本的威力
持久的存储知识的最佳格式是纯文本。
用纯文本保存知识
缺点:
- 压缩的二进制格式相比,存储纯文本所需空间更多。
- 要解释及处理纯文本文件计算上的代价可能更难贵。
优点
- 保证不过时
- 杠杆作用
- 更易于调试
Unix哲学:提供”锋利“的小工具,其中每一样都意在把一件事情做好(面向行的纯文本文件)
Shell
不要采用GUI,尽量使用shell命令行
作为注重实效的程序员,你不断的想要执行特别的操作——GUI可能不支持的操作,当你想要快速的组合一些命令,以完成一次查询或其他任务时,命令行要更为适宜。
强力编辑
工具是手的延伸。
我们认为你最好是精通一种编辑器。并将其用于所有编辑任务。
你需要的是精通。(一个人说:他什么技术都会,java,C,.net等等,那么可以断定他什么都不会,前提是得有一定年龄,否则不可能。都会就是都不会,你需要的是精通);
用好一种编辑器。
选一种编辑器,彻底了解它,并将其用于所有的编辑任务。
编辑器的特性。如果你的编辑器缺少下面的任何能力,那么你或许就应该考虑换一种,更高级的编辑器了。
- 可配置:包括字体颜色等等。
- 可扩展:比如可以扩展插件等等
- 可编程。你应该能对编辑器编程,让它执行复杂多步骤的任务。
源码控制
类似于开发项目,使用的Git一样。如果我们的团队没有使用源码控制。他们应该感到羞耻。
总是使用源码控制:源码控制系统会追踪你在源码和文档中做出的每一项变动,使得你总能返回你的软件的前一版本。它让你可以进行自动的和可重复的产品构建。
调试
没有人能写出完美的软件,所以调试肯定要占用你大量时间。
要修正问题,而不是发出指责
bug,是你的过错,还是别人的过错并不是真的很有关系,它仍然是你的问题。解决它就是了,不要有太多废话。
直接骂而不是背后骂
看到别人写了很烂的代码,直接在他面前骂他,而不是背后偷偷骂他,这样他心里会好受,也会感激你的。做到这样,项目代码质量提高了,别人进步了,你也可以少改一些bug
不要假定,要证明
橡皮鸭:找到问题的原因的一种非常简单、却又特别有用的技术,是向别人解释他
记住调试的第一准则,不要恐慌。
在开始查看bug之前,要确保你是能够在成功编译的代码上工作。在修复bug中,你需要与报告bug的用户面谈,以收集比最初给你的数据更多的数据。
开始修复bug的最佳途径是让其可在现。如果你不在现它,你又怎么知道它已经被修正了?
文本操控
学习一种文本操控语言
代码生成器
编写能写代码的代码
对于项目中的重复工作,如果我们能自己实现代码生成器,就完美了。
对于编程中的重复性代码,通过脚本自动生成代码来实现。
代码生成器的分类:
- 被动代码生成器
- 主动代码生成器
代码生成器不一定要很复杂。
代码生成器不一定要生成代码,可以是:HTML,XML等等。
读书感悟
来自《摆渡人》
- 如果命运是一条孤独的河流,谁会是你的灵魂摆渡人
- 如果我真的存在,也是因为你需要我
- 每一个灵魂都是独特的,都有各自的美德和过错
- 为了再次拥有这份感受,值得冒永远沉沦的风险吗? 值得。
- 我因为你而存在
其他
如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎转载,点赞,顶,欢迎留下宝贵的意见,多谢支持!