作为一个程序员,在提高自己技能的同时,也要提高自己的思维方式。以下20条建议,可以帮助我们成为一个专业的coder,专业的技术人员。
(1) 熟悉工具
军人手中有枪,农民手中有锄头,而我们手中有Java。这是我们引以为豪的工具。我们应该了解它的适用范围、生态系统、发展趋势。
他就可能是陪伴我们一生的工具。
(2) 使用IDE
在技术领域,不要相信“无刀胜有刀”,“高手都是用记事本或VI开发”。
傻子才放着好的工具不用呢。选择好的开发工具,好的IDE,并坚定不移的使用它。
(3) 坚持编码
不要考虑自己的职位、岗位、只要是 Javaer,就应该坚持编码。
没有编码,就等于无源之水,无本之木。就不会有灵感。长时间不coding,就等于废了。
(4) 编码前思考
在编码之前,必须已经完成设计,最低要求是对开发中遇到的问题有清楚的认识。不要在编码中走一步看一步来解决问题。
(5) 坚持重构
不要相信一次就能写出优秀的代码。这不现实。任何优秀的代码、算法都是经过了无数次的重构磨炼。坚信自己下一个版本更优秀!
(6) 多写文档
写注释、说明、文档都是对代码或项目的回顾和总结。不仅是为了后续参与人员。同时也是为了整理自己头脑中混乱的逻辑。
(7) 保持版本的简单性
一个项目不要保持多个版本。即使有分支也必须定义出项目合并条件。或者时间约束、目标约束。不可任由版本扩散。
(8) 做好备份
不做备份,一旦灾难发生就无挽救余地。经常备份代码到不同主机,能够实现自动备份将是一个非常好的方法。
上传代码到SVN、GitHub、Coding都是不错的备份。如果你是Coding的钻石会员,那备份到Coding是很好的选择(^-^)V。
(9) 做单元测试
单元测试不仅能够增强你的信息。也能给你带来好名声。尤其是小姑娘一看,“哇哦,单元测试写的这么完整,肯定是一个认真、负责、靠谱的人。肯定可以托付终身!”
(然而,残酷的现实是没有小姑娘会看你写的代码╭(╯^╰)╮, 但是大老爷们会夸你也是不错的昂)。
(10) 不要重复发明轮子
直接使用成熟的工具或框架。但如果想共享一个新的超级好用的框架,那就尽管去发明轮子吧。以技术研究为目标,而不是项目交付。
(11) 不要拷贝
如果经常按下“Ctrl+C”,为什么不重构一下呢?不要做代码的搬运工。
(12) 让代码充满灵性
为变量、函数、类起一个好听的名字。增加毕业的注释。“One Line” 能解决一个上百行代码的问题。也是一个优秀的实现。
(Coding的小姐姐会夸你“哇ヾ(◍°∇°◍)ノ゙,优秀!”,经常在Coding冒泡的你肯定会懂。)
(13) 测试自动化
不论是单元测试还是集成测试。都尽量让他自动化。如果需要不断的各种配置或触发条件。会让代码“汗颜”。能自动执行,就不要手动设置。
(14) 做压力测试
不要迷信自己的代码很健壮。(谁给你的自信?肯定不是梁静茹。)把业务人员制定的指标扩大三倍再做压力测试。在高并发时,只有上帝知道发生了什么。
(15) 在编码中,“剽窃”不可耻
多看开源代码。学习别人的编码。经常从中“剽窃”一下。也是快速提高技能不错的途径。
(16) 向敏捷学习
敏捷中的一些思想也是很优秀的。比如测试驱动开发、循序渐进开发等等。
(17) 重里更重面
UI 是“面”,Java程序是“里”。客户首先感受到的是“面”,然后才是“里”。简洁、清晰、便捷的 UI,可以给客户良好的印象。
(前端的小伙伴们看到这里是不是很开心 (๑❛ᴗ❛๑) ?你们是“面”!你们比“里”更重!)
(18) 分享
“独乐乐”不如“众乐乐”,开源代码。不仅会收获赞许和 GitHub 的 ★star 。还能暴露自己的 bug,在众目睽睽下提升自己。
(19) 刨根问底
有问题不可怕,可怕的是掩盖。在解决答案之后加上“是因为……”,这才是真的解决了问题。
(20) 横向扩展
Java程序要运行在 JVM 上,同事还要与网络、存储等交互。另外要遵循 FTP、HTTP、SMTP 等协议。还要实现 Web-service、RMI、XML-RPC 等接口。
所以,我们必须熟悉相关的知识。扩展知识面。