当前位置: 首页 > news >正文

老鸟程序员才知道的40个小技巧

转载:https://mp.weixin.qq.com/s/VSMd8fBfA48kA4Pqh42Fvg

机器学习算法与Python学习 1周前

19:26:47  2018-11-22

40条真言,希望对进阶中的程序朋友有所帮助。
1、重构是程序员的主力技能。
2、工作日志能提升脑容量。
3、先用profiler调查,才有脸谈优化。
4、注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。
5、普通程序员+google=超级程序员。
6、单元测试总是合算的。
7、不要先写框架再写实现。最好反过来,从原型中提炼框架。
8、代码结构清晰,其它问题都不算事儿。
9、好的项目作风硬派,一键测试,一键发布,一键部署;烂的项目生性猥琐,口口相传,不立文字,神神秘秘。
10、编码不要畏惧变化,要拥抱变化。
11、常充电。程序员只有一种死法:土死的。
12、编程之事,隔离是方向,起名是关键,测试是主角,调试是补充,版本控制是后悔药。
13、一行代码一个兵。形成建制才能有战斗力。单位规模不宜过大,千人班,万人排易成万人坑。
14、重构/优化/修复Bug,同时只能做一件。
15、简单模块注意封装,复杂模块注意分层。
16、人脑性能有限,整洁胜于杂乱。读不懂的代码,尝试整理下格式;不好用的接口,尝试重新封装下。
17、迭代速度决定工作强度。想多快好省,就从简化开发流程,加快迭代速度开始。
18、忘掉优化写代码。过早优化等同恶意破坏;忘掉代码做优化。优化要基于性能测试,而不是纠结于字里行间。
19、最好的工具是纸笔;其次好的是markdown。
20、Leader问任务时间,若答不上来,可能是任务拆分还不够细。
21、宁可多算一周,不可少估一天。过于“乐观”容易让boss受惊吓。
22、最有用的语言是English。其次的可能是Python。
23、百闻不如一见。画出结果,一目了然。调试耗时将大大缩短。
24、资源、代码应一道受版本管理。资源匹配错误远比代码匹配错误更难排查。
25、不要基于想象开发, 要基于原型开发。原型的价值是快速验证想法,帮大家节省时间。
26、序列化首选明文文本 。诸如二进制、混淆、加密、压缩等等有需要时再加。
27、编译器永远比你懂微观优化。只能向它不擅长的方向努力。
28、不要定过大、过远、过细的计划。即使定了也没有用。
29、至少半数时间将花在集成上。时间,时间,时间总是不够。
30、与主流意见/方法/风格/习惯相悖时,先检讨自己最可靠。
31、出现bug主动查,不管是不是你的。这能让你业务能力猛涨、个人形象飙升;如果你的bug被别人揪出来.....呵呵,那你会很被动~≧﹏≦
32、不知怎么选技术书时就挑薄的。起码不会太贵,且你能看完。
33、git是最棒的。简单,可靠,免费。
34、仅对“可预测的非理性”抛断言。
35、Log要写时间与分类。并且要能重定向输出。
36、注释是稍差的文档。更好的是清晰的命名。让代码讲自己的故事。
37、造轮子是很好的锻炼方法。前提是你见过别的轮子。
38、code review最好以小组/结对的形式。对业务有一定了解,建议会更有价值(但不绝对)。而且不会成为负担。管理员个人review则很容易成team的瓶颈。
39、提问前先做调研。问不到点上既被鄙视,又浪费自己的时间。
40、永远别小看程序媛(╯3╰)

 

转载于:https://www.cnblogs.com/leoking01/p/10003375.html

相关文章:

  • 前端性能优化——回流与重绘
  • 新手搭建网站的主要流程
  • python爬虫笔记-day1
  • 简便安装mysql数据库的方法
  • Scrum立会报告+燃尽图(十一月二十五日总第三十三次):展示博客
  • Android 性能优化的方面方面都在这儿
  • 通过几道题目学习二叉搜索树
  • 设计模式 开闭原则
  • 一个真正有能力的人
  • Mybatis-plus之RowBounds实现分页查询
  • clover无缘无故隐藏书签栏原因
  • Vue 路由切换时页面内容没有重新加载
  • 303. Range Sum Query - Immutable
  • 从“被动挖光缆”到“主动剪网线”,蚂蚁金服异地多活的微服务体系
  • 冲刺第四天 11.28 WED
  • [ JavaScript ] 数据结构与算法 —— 链表
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaWeb(学习笔记二)
  • Python实现BT种子转化为磁力链接【实战】
  • SpingCloudBus整合RabbitMQ
  • tab.js分享及浏览器兼容性问题汇总
  • 闭包--闭包作用之保存(一)
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 大主子表关联的性能优化方法
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 给新手的新浪微博 SDK 集成教程【一】
  • 工作中总结前端开发流程--vue项目
  • 计算机常识 - 收藏集 - 掘金
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 爬虫模拟登陆 SegmentFault
  • 如何利用MongoDB打造TOP榜小程序
  • mysql面试题分组并合并列
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #stm32整理(一)flash读写
  • #Z2294. 打印树的直径
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (3)(3.5) 遥测无线电区域条例
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Project Open Day(2011.11.13)
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • /etc/sudoer文件配置简析
  • /var/lib/dpkg/lock 锁定问题
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [<事务专题>]
  • [ACM] hdu 1201 18岁生日
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分
  • [HNOI2018]排列
  • [JavaScript]_[初级]_[不使用JQuery原生Ajax提交表单文件并监听进度]