热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

辩证的看待makeitright,thenefficientthenbeautiful

为什么80%的码农都做不了架构师?这个应该是敏捷开发中一再提倡的一个原则。和它一样的还有著名的unix的keepitsimpleandstupid.他们本质上都

为什么80%的码农都做不了架构师?>>>   hot3.png

这个应该是敏捷开发中 一再提倡的一个原则。

和它一样的还有著名的unix的keep it simple and stupid.

他们本质上都是提倡编程上科学的用脑,比如kiss原则背后的原因就是让程序的设计可以很容易的被程序员驾驭,如果程序写的庞大而且杂乱,那么人难以驾驭,就会导致单位时间内可以做的事情低效低质量。

写这个blog也是处于最近我写程序越发低效。

类似的事情在高三复习的时候也遇见过,最开始的时候只是看了一个章节的内容,然后做一个章节的题,对于知识连通性上的掌握不是很好,所以在一本书学完回头开始进入综合复习的时候,就会出现每个题目要想很多,因为知道的多可以想的也很多,这个时候是比较难受的,出于高三的压力也去咨询了老师,老师也给我点出了这个原委,解决之道就是深入理解,熟练强化。

深入理解可以抓住事情的本质,尽管有万变但是不离其宗,所需掌握的实际知识量非常少,经过练习之后从熟练迈向融会贯通。做题速度质量上来了,心理感受到大脑负载都好了很多,人也就进入良性循环,在大工作量面前良性循环是决定整体表现的关键。而深入理解融会贯通带给我们的就是面对同样问题的时候,大脑负载的降低,这样效率和质量都会上升,kiss原则是从程序设计和表现上说这个问题,而深入理解融会贯通是在个人修炼上说这个问题。

最近出现的情况我认为一样的,刚开始进入大型项目的时候负责的东西,懂得东西都少,对自己的期望值也不大,所以写程序想的不多,想精益求精都不知道精益求精究竟是个什么样子,自然写起来就很快,除掉bug,由于当时负责的东西不是重要的东西,快了慢了都没什么影响。

后来一方面读的优秀代码多了,感叹之余也在要求自己向这个水平努力,另外也开始接触项目比较重要的部分,于是需要考虑的东西一下子增加了很多,有时候真的觉得自己写程序像个娘们,瞻前顾后,反复确认,但是高质量程序不都是这样产生的么。另外回头用到上各项目自己写的代码,感觉非常ugly,当时我已经尽力在把结构效率提高了,看来自己这方面是比较有进步的。

所以认为自己在这方面可以结合高三的深刻理解融会贯通和kiss,敏捷开发的原则。一方面对于设计,实现和硬件认识上不停的加深理解,一方面在工作上有意识的增加思考量,可以把正确和高效并在一起,甚至也考虑良好的设计,熟练了之后就会一气呵成,多么愉快。

另外一方面也合理的把复杂度分离,降低问题的复杂度,一次做自己能力%120的东西,既增长了自身也合理的工作。

还有一些想法就是认为在实现过后写详细的文档非常有好处,

一来是teamwork的一个非常好的习惯,合作的人可以更加容易工作,相关的人可以了解你这一块东西的实现方式。

二来就是升华自己对于问题的认识,加深理解,理清思路,可以在文档中刻意的挖掘本质,力求之后遇到类似的问题可以举一反三。

三来可以很好的锻炼自己写作表达水平。


原文链接: http://blog.csdn.net/ccanan/article/details/2209785

转:https://my.oschina.net/dtec/blog/44606



推荐阅读
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • MongoDB用户验证auth的权限设置及角色说明
    本文介绍了MongoDB用户验证auth的权限设置,包括readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase、cluster相关的权限以及root权限等角色的说明和使用方法。 ... [详细]
author-avatar
phpfinder
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有