Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

如何成为一个合格的程序员? PDF 下载


分享到:
时间:2023-02-25 09:23来源:http://www.java1234.com 作者:转载  侵权举报
如何成为一个合格的程序员? PDF 下载
失效链接处理
如何成为一个合格的程序员?  PDF 下载


本站整理下载:
提取码:khcm 
 
 
相关截图:
 
主要内容:

如果你觉得某⼀点对你有⽤的话,不要关了这篇⽂章之后你就忘记了,建议你⼀
定要记录下来。从当下开始就去努⼒践⾏。
本⽂概览 :
⽤好 Google
修改代码要慎重
谨慎使⽤⽹上搜索的代码⽚段
Code Review 很重要
尽量减少 TODO
不要放任破窗
不要孤⽴地写代码
试着从更⾼的层⾯去了解⼤部分代码的功能
尽量多沟通交流,提⾼表达能⼒
你永远⽆法写出完美的软件
⼯作经验 != 能⼒
提⾼⾃⼰的核⼼竞争⼒
你永远⽆法写出完美的软件
相⽐于百度,更建议使⽤ Google。如果你⽆法访问 Google 的话,必应也是不错
的。
分享⼀些个⼈使⽤ Google 搜索的实⽤建议, 这⾥就不专⻔介绍各种繁杂的搜索
参数了,说了也记不住,实⽤性不强。
1、选择合适的关键词,多个关键词⼿动使⽤空格进分割。
如果搜索出来的内容你不满意的话,建议重新更换/删减关键词进⾏搜索或者调
整关键词的顺序。
2、利⽤好 Google 图⽚搜索,⼀张好的技术配图有更⼤概率带你进⼊更优质的
⻚⾯。
3、往往同时需要多打开多个⻚⾯之后,才有可能找到⾃⼰需要的内容。
你可以先从第⼀⻚的搜索结果中选择打开 5 个⻚⾯,内容差的直接关闭,全平台
采集⽂章类的盗⽂⽹站直接选择屏蔽掉即可。
像下⾯这个⽹站就是⼀个典型的需要被屏蔽的垃圾⽂章收集⽹站,⽂章排版和⽹
站体验极差且⽂章都是从其他平台收集整理过来的。
你可以使⽤ uBlacklist 这个 Chrome 插件屏蔽特定的⽹站。
4、搜索参数上加上 site:⽹站或域名 搜索指定⽹站或者域名下的内容
搜索参数有很多,个⼈⽐较常⽤的是 site:⽹站或域名 ,更多搜索参数你可以
在这篇⽂章中找到:Google Search Operators: The Complete List (42
Advanced Operators)。
5、过滤搜索结果
你可以通过 Google ⾼级搜索过滤搜索结果,缩⼩搜索结果的范围,地址:
https://www.google.com/advanced_search 。
我们上⾯讲到的 site:⽹站或域名 功能也可以在这个⾼级搜索⻚⾯上完成。
修改代码之前,⼀定要思考清楚,不要⾃以为很简单,结果改了之后出现了⼤问
题。这个在我们写代码的时候也⼀样,⼀定要思考清楚之后再写。
就拿我⾃⼰举例⼦,我们⼀般项⽬上都是开发做完相关功能之后,测试随后会对
你做的功能进⾏⼀系列测试。很多时候,QA 测出⼀些问题之后,我都⾃以为很
简单,并没有太多思考,然后修改之后发现⼜出现了其他问题。
代码很多时候就是这样的,这个地⽅的 Bug 补上了,说不定另外⼀个地⽅的
Bug ⼜出现了。所以说,修改代码和写代码的时候⼀定要慎重,⼀定要思考清楚
⼀点。
作为⼀个 CRUD 程序员,我们经常需要在⽹上搜索各种代码⽚段⽤在项⽬上。
不过,如果使⽤不当,这些代码⽚段就会在潜移默化中引起项⽬腐化以及代码变
质。因此,在使⽤别⼈的代码⽚段的时候,⼀定先要搞懂了这段代码之后再使
⽤,⼀定不要直接复制粘贴!
并且,⼀定不要⽆脑信 StackOverflow ,上⾯很多问题的回答以及代码⽚段也不
是 100% 准确的,依然还有很多存在问题或者可以优化的回答以及代码⽚段。在
国内的话,⼤部分程序员都是通过在 CSDN 上找答案,那你就更需要多留点⼼思
上,上⾯的低质量⽂章太多了,能不⽤就不⽤。
代码复查或者说 Code Review 很重要!这是⼀项成本不⼤,但是做好了之后收
益⾮常⾮常⼤的活动。
⼀般情况下,⼤部分项⽬定期都是要做 Code Review(⼀天⼀次最好)的 ,尽
量细致到每⼀⾏代码或者每⼀⾏重要的代码。对于代码中存在的问题,不论是命
名问题、潜在的 Bug 还是某部分代码有更好的写法都要当场指出。
我听到过很多⼈说平时⼯作太忙,根本没有时间 Code Review,我觉得这只是⼀
个逃避 Code Review 的接⼝。孤尽⼤佬在他分享《Code Review 是⼀场苦涩但
有意思的修⾏》 这篇⽂章中也说到:
TODO 描述的是那些我们应该做,但是出于某些原因暂时还没有做的事情。
随着项⽬的发展,你们项⽬的 TODO 是不是越来越多了呢?你⾃⼰写的 TODO
最后是不是到了项⽬结束或者上线还没有做呢?
实际上这是⼀个不那么好的习惯,现实⼯作中尽量做到记得定期查看 TODO 注
释,能完成的尽量完成!不能完成的呢?emmm....留着以后接⼿代码的⼈来做吧
(开个玩笑~能做还是要尽量做)!
这是《程序员修炼之道》这本书中的⼀个建议,这⾥分享⼀下原⽂的描述:
⼀定不要孤⽴地写代码,多看看别⼈的代码。 这样我觉得有下⾯⼏⽅⾯的好处:
1. 避免了团队的单点因素,⽐如某⼀部分的代码只有某个⼈懂;
2. 提⾼了代码质量;
3. 从别⼈的代码中或许也能学到⼀些东⻄;
4. ......
另外,国外很多公司都是结对编程,这玩意好像在国内⾏不通啊!
⼤型系统⼏乎没有⼀个⼈能够明⽩所有代码或者功能。除了你正在开发的功能之
外,试着从更⾼的层⾯去了解⼤部分代码的功能,这样你就可以理解各个功能块
之间是如何交互的了。 这个建议在我经历的上⼀个项⽬(学⽣答题类)中感受颇
深。整个项⽬虽然不是很庞⼤,但是业务功能点还是⽐较多,初期的时候,我没
有搞懂学⽣教材选择那块的逻辑 ,导致后⾯我做学⽣答题统计模块的时候⼜花了
很久询问相关的同事才搞清楚。
这是《程序员修炼之道》这本书中的⼀个建议,这⾥分享⼀下原⽂的描述:
对于咱程序员来说,有⼀个很现实但⼜不得不⾯对的问题:“你的⼯作经验是否
匹配你⾃⼰当前的能⼒?”。
我们刚从学校毕业的时候,最⼤的优势就是“年轻”。说好听点,年轻意味着你未
来可发展空间要稍微更⼤⼀点。然⽽!现实中,互联⽹公司更偏爱年轻⼈,往往
是因为年轻⼈更有精⼒加班、成本也更低。
对于⼯作时间⽐较⻓时间的朋友来说,“年轻”这个优势就不复存在了。我们需要
依靠我们的⼯作经验来为⾃⼰打开⼀⽚天地。然⽽!咱这⼀⾏⼜存在很多劳动密
集型的那些⼯作,⼯作经验并不代表你的真实能⼒/⽔平。
如果你⼯作了5年,甚⾄是10年,都是在做⼀些简单的业务系统,每天的⼯作都
是 CRUD 的话。我觉得你实际的⼯作经验,可能只有 1年左右。那你出去找⼯作
的话,别⼈肯定不愿意招聘你了。
那很多⼩伙伴都要说了:“我们公司业务⽐较简单,基本都是 CRUD 的任务,没
办法提⾼⾃⼰的能⼒啊!”。其实,解决这类问题的办法也很简单,关键要看我们
是否愿意跳出⾃⼰的舒适区。我们作为⼀个正常⼈,往往都是会更倾向于过⽐较
安逸的⽣活嘛!⼈之常情,⽆可厚⾮!
如果⼯作⽆法给你⾜够的锻炼,那你就要⾃⼰多留点⼼,⼯作之外多提⾼⼀下⾃
⼰的核⼼竞争⼒。 ⽐如你可以课外多去研究⼀些优秀的开源项⽬(⽐如
Kafka 、 sharding-jdbc )、多看看⾃⼰平时经常使⽤的框架(⽐如 Spri
ngBoot 、 MyBatis )的源码。
我还推荐你没事就要多造轮⼦,多写点框架层⾯的东⻄,⽽不是天天⽤别⼈的框
架。
我们实际项⽬开发中是⽐较忌讳造轮⼦的,但是,⾃⼰在学习过程中造轮⼦绝对
是对⾃⼰百利⽽⽆⼀害的!造轮⼦是⼀种特别能够提⾼⾃⼰系统编程能⼒的⼿
段。
通过⾃⼰造轮⼦,你更能体会到框架底层的原理,更有机会接触到⼀些底层的东
⻄,这对你以后的发展绝对是百利⽽⽆⼀害的!
如果说你从你的⼯作中学习不到什么对你有价值的东⻄,每天的⼯作强度⼜很
⼤,你连⾃⼰充电的时间都没有的话。那我建议你可以直接跳槽,跳槽到⼀家对
你的发展更有帮助的公司。
⼈⽣路漫漫,不要过于在意短期的利益,眼光要放的更⻓远⼀些。
另外,在我们平时⽇常⼯作中,有⼀个⾮常重要的能⼒,经常会被我们忽略。这
个能⼒就是系统设计能⼒ 。
技术作为我们程序员的核⼼竞争⼒,毋庸置疑,⾮常重要!但是,不要把⾃⼰的
“束缚”在“技术”上,被“技术”绑架。
技术本身往往不会产⽣价值,必须依托于产品才能体现。 ⽐如你是⼀个提供技术
服务的公司,你创造的技术产品有⼈买单或者有⼈使⽤。再⽐如你是⼀个普通的
互联⽹公司,你们通过技术创造了某个热⻔ App 为公司创造了营收。
但是,我们⼤多数⼈喜欢在技术上⾃嗨,这当然也包括我⾃⼰。
拿我⾃⼰来说,我觉得在技术之外,我还需要提⾼⾃⼰的产品设计能⼒、演讲能
⼒、理财能⼒......。
产品设计能⼒,⼀是为以后⾃⼰可能独⽴做产品做下铺垫,⼆是这个在⽇常⼯作
中也会⽤到。
演讲能⼒和理财能⼒就不⽤多说了吧!当代社会必备的能⼒。
往美好的⽅向讲,技术是为了让⼈们的⽣活更好。现实来说,技术就是为了帮助
公司创造更多利润。
另外,技术更新换代太快,但是,底层技术⽐如数据结构和算法、计算机组成原
理、操作系统的内容其实⼀直没怎么么改变的。就那些东⻄。
当⾃⼰年龄上来之后或者成家之后,⾃⼰投⼊在技术上的时间⼀定是会减少的。
为了避免⾃⼰未来产⽣“技术焦虑” ,还是要把这些底层东⻄给吃透啊!

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐