`
daniel_tu
  • 浏览: 187257 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

卓有成效的程序员之笔记与实践

阅读更多

本文作者:王德水 http://www.cnblogs.com/cnblogsfans , 转载请保留此处声明。

image

一、加速法则

加速法则,就是能加快我们工作的一切的东西。

a. 删除启动面板多余的东西,一个应用程序列表的有用程度与它的长度成反比

下面我以win7为例,把All Program里常用的程序放到Start Menu里,移除Start Menu里没用的程序。

image   image

b. 把常用的程序和目录放到任务栏和桌面,下面是我的工作台。

image

c、使用应用程序加载器

十款好用的Windows Launcher

image

d. 首选键盘,记住常用的 Win+E, Win+R,Alt+Tab等等快捷键,少用鼠标。

e. 使用多重剪贴板,减少来回切换的时间。

f. 记住历史操作。Linux下可以敲入History,但Windows下只能上下箭头。

g,开发加速器, 记住IDE快捷键可以大大提高开发速度。vsts有很多快捷键,请记住常用的。

 

二、专注法则

工作当中,专注可以很大的提高工作效率。

a. 排除干扰,隔离(带耳机)。

b. 关掉不必要的提示(更新呀,等等)。

c. 创造安静时间.

d. 搜索优于导航,使用有根试图.

image

e. 使用基于项目的快捷方式,多显示器,虚拟桌面

    把项目的常用文件放置一个地方。使用虚拟桌面来分类。windows下有vitual desktop.

三、自动化法则

a. 不要重复发明轮子,SubVersion, CruisinControl, Trac, Mingle.

下面是我的项目的自动集成,可以参考我的系列教程 .NET环境下每日集成

image

b. 建立本地缓存。

c. 使用RSS订阅我们需要的信息。

d. 构建之外使用Ant,可以为我们执行一些常用的任务。

e. 用Rake执行常见任务,这个是Ruby下的,我的博客里有一些Ruby的入门文章一步一步学Ruby

f. 用Selenium浏览网页,我的博客里有点Selenium的教程http://www.cnblogs.com/cnblogsfans/archive/2008/12/23/1360320.html

h. 作者推荐使用Powershell,这个我目前还不会。读者可以自己去查相关资料。

四、规范性法则

规范很重要,这个可以减少不一致

  • 使用版本控制。
  • 使用标准的构建服务器。
  •  文中作者提到利用虚拟平台备份每个项目的交付时的环境,这个很不错。
  • 数据迁移,Ruby on rails里的Migration做的很不错,我们可以拿来使用,对数据可以做到很好的版本控制。
  • 保持活的文档,过时的文档比没有文档更糟.
  • 白板+数码相机强过任何CASE工具。
  • 尽量自动生成所有技术文档。
  • 数据库结构 SchemaSpy可以生成数据关系图。
  • 减少重复,重复是软件开发中最大的阻力。

五、测试驱动开发

测试代表着软件开发行为中工程式的严谨部分。他可以帮你养成更好的对代码的“消费意识”,减少调试时间和副作用。

这里记录了我的一些TDD实践 http://www.cnblogs.com/cnblogsfans/category/167592.html

六、公民责任

每一个开发人员都是一个“公民”,我们要尽到公民的责任。

七、注释重构成方法。

这个观点很新颖,我非常赞同。

八、勿过度开发

YAGNI(“You Ain’t Gonna Need it”)你不会需要它,如无必要,勿增复杂度。

九、软件开发首先是一场沟通博弈。

沟通,沟通,再沟通。

十、致力本质复杂度,去除附属复杂度。

这点,我觉得对架构师很重要。

十一、高内聚,低耦合

  • 在调用方法时,不要出现一个以上的. , homer.getJob().setPosition(“Jantior”) 。
  • 把所有的实现细节封装在公共方法之外。

十二、关注古老的软件学说

旧的语言和软件学说,有时很有用,因为我们在继承时,可能丢了很多好的“传统”。看看《人月神话》吧,看看SmallTalk吧,也许你有不一样的收获。

十三、质疑权威

要有质疑权威的精神,不要成为一群《愤怒的猴子》。这个主要是讲一群猴子想吃房子里的香蕉,当它们每次爬上梯子时,主人就用冰水泼它,后来来了一只 新的猴子A,当A爬上梯子时,房子里的其它猴子都打他,最后房子里全部都是没有被泼过冷水的猴子,但是还是没有猴子敢去拿香蕉了,因为都是一群愤怒的猴 子。

十四、多语言编程

关注多语言编程,每个语言都有自己的特长,比如Erang适合并发程序,Ruby on Rails适合Web开发,让它们专注与自己的特长,今天的平台,明天的语言。

作者: 王德水
出处:http://www.cnblogs.com/cnblogsfans

分享到:
评论

相关推荐

    Shellcoder’s Handbook: Discovering and exploiting Security Holes---中文CHM

    还是那句话,一个程序员做到W.Richard.Stevens那个份上,做到逝世后还能叫全世界的顶级hacker们专门著文怀念,但生前却不曾著文攻击,想想看,那是一种什么样的境界,那是一份什么样的淡然。我们可以大肆讨论技术...

    福兴讯V587对讲机写频,调频软件 福摩斯特V587

    福兴讯V587对讲机写频,调频软件。福摩斯特V587对讲机写频,调频

    uni-helper_vite-plugin-uni-tai_1742854282.zip

    app开发

    LangChain框架详解:大语言模型应用开发的核心模块与实践

    内容概要:本文介绍了LangChain这一开源框架,它专为开发基于大型语言模型(LLM)的应用程序而设计。文章阐述了LangChain的核心理念、架构组成及其重要性。LangChain通过模块化设计解决了大模型应用开发中的效率低下和局限性问题,提供了标准化的接口和丰富的抽象层,使开发者能够轻松接入不同大模型并构建高效的应用程序。文中详细讲解了几个关键模块,包括Model I/O、Retrieval、Chains、Memory、Agents和Callbacks,以及如何安装和使用LangChain进行开发。此外,还展示了具体的代码示例,如如何调用OpenAI的API、构建LLMChain链路、设置回调机制和实现对话记忆功能。 适合人群:对大语言模型有一定了解并且有兴趣开发基于LLM的应用程序的研发人员和技术爱好者。 使用场景及目标:①帮助开发者快速掌握LangChain的基本概念和使用方法;②提供实用的代码示例,便于开发者实际操作;③解释如何通过LangChain克服大模型应用开发中的常见难题,如模型差异、输出不稳定等。 阅读建议:鉴于LangChain涉及较多的专业术语和技术细节,建议读者在阅读时结合官方文档和示例代码一起学习,尤其是对于核心模块的理解和实践。同时,关注GitHub上的最新版本更新,以获取最新的特性和改进。

    网络伴侣 iCompanion 2.1

    网络伴侣 iCompanion 2.1 网络计费软件,功能全面,支持ISDN

    移动开发_Flutter_简约聊天_纸聊APP_1742846962.zip

    app开发

    《基于YOLOv8的交通事故自动报警系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    《基于YOLOv8的八段锦练习指导系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    前端开发_UniApp_云开发_JsSdk_全端适配实战讲解_1742852088.zip

    app开发

    移动开发_Flutter_轮子推荐_开发效率提升_1742851671.zip

    移动开发_Flutter_轮子推荐_开发效率提升_1742851671.zip

    往复活塞杆密封件热弹流润滑仿真:Python实现与解析(复现论文,含详细可运行代码及解释)

    内容概要:本文详细介绍了往复活塞杆密封件在瞬态条件下热弹流润滑仿真的Python实现。首先定义了几何、材料和工况参数,然后分别构建了流体力学、热力学和固体力学模型。流体力学模型使用有限差分法求解瞬态雷诺方程,热力学模型考虑了温度和压力对粘度的影响,固体力学模型则采用了Mooney-Rivlin超弹性模型和Prony级数描述的粘弹性松弛。最后通过耦合求解实现了整个系统的时间积分,并绘制了液膜厚度和压力分布图。文中还讨论了模型的特点、简化假设以及扩展建议。 适合人群:机械工程领域的研究人员和技术人员,尤其是对密封件性能优化感兴趣的从业者。 使用场景及目标:适用于研究往复活塞杆密封件的工作机理及其在不同工况下的表现,帮助工程师理解和预测密封件的动态特性,从而改进设计和选材。 其他说明:该实现基于论文中的理论框架,但在实际应用时可能需要进一步调整和完善。

    人人商城V3-3.2.1版本.zip 亲测能用

    人人商城V3-3.2.1版本.zip 亲测能用

    《基于YOLOv8的灯光设备监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Java面向对象编程,出现的示例代码

    Java面向对象编程,出现的示例代码

    蓝桥杯python相关资源,真题,蓝桥杯,蓝桥杯Python练习系统题库,蓝桥杯Python练习系统题库

    蓝桥杯python,蓝桥杯python相关资源,真题,蓝桥杯,蓝桥杯Python练习系统题库,蓝桥杯Python练习系统题库

    fsfzdgdfrgbzgr

    rgrgdfsegfasgrsredgf

    《基于YOLOv8的冲浪运动分析系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Lotus Notes 4.65

    Lotus Notes 4.65 是 IBM 旗下早期版本的企业级协作平台,主要面向办公自动化和非结构化数据管理领域。以下为综合信息整理: 一、版本背景与定位 核心架构 Lotus Notes 4.65 属于客户端-服务器架构的早期版本,其服务器端为 Lotus Domino18。 客户端功能:集成电子邮件、日历、联系人管理、文档数据库访问16。 服务器功能:支持分布式文档存储、跨平台数据同步及安全权限管理18。 技术特性 数据库技术:采用非结构化文档数据库,支持表单、视图、代理等自定义数据管理工具68。 工作流引擎:内置开发环境(Domino Designer),可定制审批流程、文档跟踪等企业级应用18。 跨平台兼容性:支持 Windows 95/98、NT 等早期操作系统,依赖 TCP/IP 协议实现网络通信25。

    Go语言入门指南:从基础语法到并发编程及错误处理

    内容概要:本文档详细介绍了Go语言的基础知识及其特性,旨在帮助初学者快速上手并掌握这门语言。首先概述了Go语言的特点,包括简洁高效的语法、强大的并发模型、跨平台支持以及丰富的标准库。接着逐步讲解了环境安装、基础语法、控制结构、集合类型、函数定义、结构体与方法、并发编程、错误处理等方面的内容。最后提供了包管理和学习资源的推荐,鼓励读者通过实战项目进一步提升技能。 适合人群:对编程有一定兴趣但尚未接触过Go语言的学习者,尤其是希望快速掌握一门高效并发编程语言的开发者。 使用场景及目标:①作为新手教程,帮助读者建立对Go语言的基本认识;②提供详细的语法指导,使读者能够独立完成简单的程序编写;③介绍并发编程和错误处理机制,培养解决实际问题的能力。 阅读建议:建议读者跟随文档内容进行实践操作,在理解和记忆的基础上多做练习,同时利用提供的学习资源加深理解。

Global site tag (gtag.js) - Google Analytics