韩伟
我的编程格言
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
韩伟
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
我的编程格言
我的编程格言
韩伟
关注
发布于 2021-08-05 10:36:41
423
0
发布于 2021-08-05 10:36:41
举报
文章被收录于专栏:
韩伟的专栏
韩伟的专栏
任何程序员都能写出机器能理解的代码,但只有好的程序员才能写出人能理解的代码。
改善性能是写程序里面最幸福的部分,在糟糕的代码结构里面修改功能则是最痛苦的经历。程序员不能仅仅把最幸福的部分认为是技术,而因为厌恶痛苦的经历而认为解决这一类问题不算技术。
落后的软件开发效率,和无穷的需求变化之间的矛盾,是软件开发中的核心矛盾;改进软件开发效率的技术,是技术的最高体现。
敏捷开发的价值,在于不断通过开发原型代码,把需求明确的描述出来,是一种开发者和需求方之间的沟通方式
单元测试,以及自动化测试用例,是使用代码的方式,把软件需求描述下来的手段。如果测试代码还在,就算实现代码全部丢失,都可以很快的重写出来。
面向对象对比面向过程的优胜之处,在于名词化的概念,比动词化的描述,更便于人类理解。
软件项目是无法预算其开发时间的,如果一个需求没有开发过,那么无人可以完全预计过程中的问题,如果一个需求已经开发过,那么直接拷贝代码过来用即可,所以尝试通过各种努力,想严格衡量预估一个软件的开发时间,是没有意义的。
70% 的线上事故,是和运维操作有关,因此在开发程序的时候,必须要考虑运维的特性。越复杂的运维需求,导致越高的事故率。
游戏程序的基本特点,是对延迟的苛刻要求,以及对数据准确性的不苛刻要求。这一特点,正是游戏程序优化的基本出发点。
除了剔除那些错误的、不必要的浪费之后,软件系统性能提高的最常用手段有两个,其一是缓存,其二是分布;缓存就是时空转换,以时间、空间中富裕的一种去弥补紧缺的另外一种;分布就是增加多个硬件一起解决问题,核心是如何分配以及最后结合这些工作任务。
不要重复代码,是代码优化的最基本原则,也是最难达成的原则。并不是一模一样的代码才是重复代码,类似的、相同模式的、类似结构的代码,也是重复代码。
开闭原则是应对需求变更的最基本手段。
没有耦合就没有功能,不要妄想写出没有耦合的代码。而是要在需求变化的边界上减少耦合。
越是通用的代码,功能就越少;越是功能强大的代码,通用性就越差。单靠一份代码,是无法做到既强大又通用的,但是一个分层结构的代码库,是可以做到的。
设计模式,是利用面向对象的语言特性,去解决一系列常见问题的典型方法。也是学习前人如何设计代码结构的经验知识。
不要迷信配置文件、非代码化的操作,这些东西最后可能都不如一门完整的编程脚本更能解决问题,因为需求变化会导致精心设计的非代码描述,失去表达能力
数据结构加算法等于程序,这个描述现在来看并不完整。需要被程序处理的数据,同样是一个程序的重要组成部分。所以不要试图把数据严格的和代码划分开来,这种划分有时候反而造成了更多不必要的代码。
运维操作,也同样需要用现代软件开发的工具武装起来,需要版本管理工具,需要缺陷跟踪工具,等等。
不要以为 GUI 就一定比命令行易用;不要以为配置一定比编程简单。
本文参与
腾讯云自媒体同步曝光计划
,分享自微信公众号。
原始发表:2021-07-19,如有侵权请联系
cloudcommunity@tencent.com
删除
运维
缓存
游戏
本文分享自
韩大
微信公众号,
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
运维
缓存
游戏
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
产品介绍
产品文档
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐