有哪些新手程序员不知道的小技巧?
每个程序员从员变猿的过程都足够写一本几十万字的血泪史,小慕这边的一个讲师就曾经说过:每次熬几个通宵敲代码的时候就觉得自己是小仙男,全靠一口仙气吊着。等熬过了这段时间,就觉得自己像吃了十斤猪肝一样心明眼亮,马上就要飞升成为修仙界的大佬……嗯,听起来还是蛮心酸的……所以小慕在这里简单总结两方面的技巧分享一下,希望能够助大家少走弯路,早日渡劫成功。
【专业技巧】
1. 规划
新手程序员往往刚拿到需求就会开始coding,实际上这样并不高效。当拿到需求的时候,一定要以上帝视角考虑程序的整体结构,整个系统要分成哪几个层次,有哪些模块,每个模块的功能的实现,模块之间如何衔接,甚至需要哪些函数的变量,这些都要尽量在coding之前想好。就像上帝为众神分配任务一样,上层分配规划完成后再逐个施工,这样方能事半功倍。
2. 借鉴和修改代码
事必躬亲,用到的东西都自己写,这样真的就是敬业吗?实际上,直接去借鉴相应的代码是一个非常高效的手段。现在网络上可以找到很多经典的代码,只需要稍微修改就可以拿过来用,而且经典的代码由于经过很多人优化,可靠性会比自己写的更高。正所谓:高级程序员=普通程序员+Google。
3. 认真注释
当你在写某个程序的时候,可能自己记得很清楚,这一段是什么机制如何实现,但是写的程序越来越多,会导致你想不起来当初为什么这样写,改动和交接也十分麻烦。而对代码进行注释就可以有效避免这种情况。注释不仅可以让人读懂代码,甚至能让读代码的人获取更多信息,不信你看:
(这就是公司得罪程序员的下场哼)
4. 形成自己的变量命名规则
定义变量在写程序中非常常见,一个程序可能用到成千上万的变量,这些变量之间又有着错综复杂的联系。很明显狗剩、铁蛋、二妮、i、j这些名字是远远不够的,不论是内部变量还是全局变量,都要形成自己的一种命名规则,能够一眼看明白变量的意思。
另外,还要尽量减少重名变量和容易混淆的变量名,如果变量定义出现问题,会容易让人产生疑惑。所以只有养成良好的变量命名习惯,才能有效避免这类问题。
5. 认真对待编译中的warning
新手程序员往往重视error忽视warning,觉得warning不影响编译执行。当你的程序规模到了一定程度,这些warning可能就会让你的程序出现匪夷所思的问题,到时候哭都找不到地方。所以一定不要忽略warning,对于每个warning一定要思考为什么会出现,如何才能消灭,然后修改程序干掉这个warning。
6. 看文档、博客要多版本对照
看文档和博客要注意多版本对照,很多对你有价值的信息可能就藏在一篇初看觉得很难理解的文档中。
你:这文档并无卵用o(╯□╰)o。
文档:哼活该你学不到o(╯□╰)o
所以你要多看一些文档相互印证,然后去猜作者的用意。
7. Regexper等正则表达式可视化工具
如果数据分析妹纸来找你帮忙写正则表达式,可以用这个把正则表达式的编写可视化……不仅是为了概率极小的“打动芳心”效果,更重要的是降低沟通成本,节约双方时间,这将在时间紧迫的时候为程序员带来极大便利。
8. 写无副作用的函数
把文件读写和业务逻辑分开,保证业务逻辑相关的函数输入什么,就能得到什么。如果得到的东西有错误,那么就可以反求诸己,从输入内容找到问题。
9. 利用代码自动生成工具
比如java有maven插件mybatis-generator-maven-plugin……就可以直接自动生成DAO。
【职业技巧】
1. 入职前了解加不加班
2. deadline是老手的,而不是你的
老板:“你是新来的小王吧,这里有一个重要的任务……时间紧任务重……”这种时候,如果你忙不过来就早请示晚汇报——这个时候还会有人记得你是新手程序猿。毕竟以后就变成这样,老板:“你是刚来的老王吧,这里有一个重要的任务……时间紧任务重……”
3. 教会产品经理使用搜索引擎
产品经理:你是新来的小王吧,老李让我来问问你这个功能能不能做blabla……反正你是新手,也解释不清楚,这个时候最好总结一下他的关键词然后让他百度。如果这是一位勤奋好学的产品经理,以后就会省掉很多麻烦。
4. 当一个企业说自己开源的东西有多好的时候……
要么这个东西所应对的业务对你所在的小公司来说根本遥不可及,要么就是进阶版还要继续花钱。
5. 技不如人Do not panic
技不如人Do not panic,是因为:恐慌不能解决任何问题。在承认自己和大神存在差距的同时,尽力去努力缩短它们就好,不要有太多负担。
以上就是小慕为新手程序员整理的小技巧,当然适用与否还是要看大家自己的决定和判断~虽然程序员在网上一直被调侃,但是其中很多人是怀抱着喜爱的态度在“高级黑”,小慕就已经在以往回答的评论中看到好多妹子喜欢程序员了呢!所以,如果你已经进入了这个行业,不妨好好利用这些小技巧,提升自己的工作能力,还是那句话,面包和老婆都会有的~
看你是哪种类型的程序开发工程师,首先要熟悉自己工作内容的编程语言的同时,还要对工作中使用到的集成开发环境编辑器(IDE)有所熟悉,所谓的小技巧,可以在编程中对开发有助于提供效率,也可以对自己开发所熟悉的语言进行便捷书写,每种开发语言都可以有特殊简便的写法,多熟悉了解一下,有助于个人开发之路一路前进。
谢邀,手机打的有些乱
1.多了解设计模式内容,避免重复开发。
2.随时记录工作日志能提升脑容量。
3.先用profiler调查,才有脸谈优化。
4.多用google,普通程序员+google=超级程序员。
5.80%时间先用来写文档,20%的时间用来实现
6.勤写注释,最好写全,时间,功能,已经存在的问题。
7.不要先写框架再写实现。最好反过来,从原型中提炼框架。
8.代码结构清晰,其它问题都不算事儿。
9.好的项目作风硬派,一键测试,一键发布,一键部署; 烂的项目生性猥琐,口口相传,不立文字,神神秘秘。
10.编码不要畏惧变化,要拥抱变化。
11.常充电。程序员只有一种死法:土死的。
12. 编程之事,隔离是方向,起名是关键,测试是主角,调试是补充,版本控制是后悔药。
13. 一行代码一个兵。形成建制才能有战斗力。单位规模不宜过大,千人班,万人排易成万人坑。
14. 重构/优化/修复Bug,同时只能作一件。
15. 简单模块注意封装,复杂模块注意分层。
16. 人脑性能有限,整洁胜于杂乱。读不懂的代码,尝试整理下格式; 不好用的接口,尝试重新封装下。
17. 迭代速度决定工作强度。想多快好省,就从简化开发流程,加快迭代速度开始。
18. 忘掉优化写代码。过早优化等同恶意破坏;忘掉代码作优化。优化要基于性能测试,而不是纠结于字里行间。
19. 最好的工具是纸笔;其次好的是markdown。如果可以直接上ipad+apple pencil
20. leader问任务时间,若答不上来,可能是任务拆分还不够细。
21. 宁可多算一周,不可少估一天。过于“乐观”容易让boss受惊吓。
22. 最有用的语言是English。其次的可能是Python。
23. 百闻不如一见。画出结果,一目了然。调试耗时将大大缩短。
24. 资源、代码应一道受版本管理。资源匹配错误远比代码匹配错误更难排查。
25. 不要基于想象开发, 要基于原型开发。原型的价值是快速验证想法,帮大家节省时间。
26. git是最棒的。简单,可靠,免费。

