写程序遵守的原则

The Art of R Programming 原版PDF by Matloff R is a scripting language for statistical data manipulation and analysis. It was inspired by, and is mostly compatible with, the statistical language S developed by AT&T. The name S, for statistics, was an allusion to another programming language with a one-letter name developed at AT&T—the famous C language. S later was sold to a small firm, which added a graphical user interface (GUI) and named the result S-Plus. 立即下载
 
7

The Principles of Good Programming

Artima最新文章,作者正在搞C#培训,总结以下几个原理:
1.DRY(拧干代码不要有水分) 不要有重复代码,很多概念实际就是为此存在,比如loops function和classes等等,如果有重复,进行抽象。http://en.wikipedia.org/wiki/Don%27t_repeat_yourself


2.抽象原理,和DRY有关,代码中没一个重要的功能块都应该拧干抽象一下。http://en.wikipedia.org/wiki/Abstraction_principle_(programming)

3.KISS(Keep it simple, stupid!),简化避免复杂是关键目标,简单代码花费时间短(代码写得少,脑子动得不见得少),少代码有较少BUGs和更易于修改。(banq:耦合都很高的代码有时很简单,但不易于修改)http://en.wikipedia.org/wiki/KISS_principle

4.避免创造YAGNI,不要增加你不需要的功能:http://en.wikipedia.org/wiki/YAGNI

5.做最简单只要能工作的设计,始终问自己,这样简单设计能够工作吗?http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.html

6.不要让我思考,代码应该易于理解。http://www.sensible.com/dmmt.html

7.开闭原则 软件实体如classes类 模块和functions应该开放易于扩展,但是不允许修改,不要写其他人能够修改的类,而是写出人们能够扩展的类(banq:可用面向对象的继承 实现等方法扩展多个子类)。
http://en.wikipedia.org/wiki/Open_Closed_Principle

8.写代码要值得将来维护。http://c2.com/cgi/wiki?CodeForTheMaintainer

8.做最少令人惊讶的事,代码易于理解,名称等各方面不要让人产生惊讶的副作用。http://en.wikipedia.org/wiki/Single_responsibility_principle

9.最少耦合,代码(代码块,函数,类,等等)的任何部分,应尽量减少对其他地区的代码的依赖关系。这是通过使用尽可能少的共享变量 。“低耦合往往是一个结构完善的计算机系统的标志和一个好的设计,高凝聚力相结合,实现更高的可读性和可维护性的总体目标
http://en.wikipedia.org/wiki/Coupling_(computer_programming)

10.最大化凝聚性:相同功能代码应该在同样一个组件中。http://en.wikipedia.org/wiki/Cohesion_(computer_science)

11.隐藏实现细节,隐藏实现细节,将允许改变执行代码组件,而最低限度影响的任何其他使用该组件的模块(实现细节怎么做是战术,做什么是方向战略)http://en.wikipedia.org/wiki/Information_Hiding

12.迪米特Demeter法则 ,代码组件只应该和他们的直接关系联系(直系血缘关系),如他们继承的父类,包含的对象和参数传递的对象http://en.wikipedia.org/wiki/Law_of_Demeter

13.避免过早优化,除非你的代码比你预期慢,否则不要提早优化,过早优化是罪恶根源,http://en.wikipedia.org/wiki/Program_optimization

14.代码能够重用是好的,重用代码提高代码的可靠性,缩短开发时间。http://en.wikipedia.org/wiki/Code_reuse

15.分散关注:不同功能区域,应该由不同代码和最小重叠的模块组成。(AOP是分散关注典型模式)

16.拥抱变化,这是一本Kent Beck书籍副标题,也被认为是极限编程和敏捷方法在一般的宗旨。最大限度地减少耦合使代码更容易改变。无论你是一个极端编程的医生,这种方法对于编写代码是有道理的。

从零到一:手把手教你构建工业级Modbus转MQTT网关(STM32+ESP8266实战) 本文详细介绍了如何利用STM32和ESP8266构建工业级Modbus转MQTT网关,涵盖硬件选型、代码示例、协议转换及稳定性设计。重点解析Modbus RTU与MQTT协议对接阿里云物联网平台的实战步骤,确保数据可靠传输与长期稳定运行,为工业物联网应用提供完整解决方案。 阅读详情

相关推荐

Moveit +Gazebo:搭建单臂机械臂仿真平台

Moveit +Gazebo:搭建单臂机械臂仿真平台

magic_invaid的博客 5291

The Principles of Good Programming

Artima最新文章,作者正在搞C#培训,总结以下几个原理: 1.DRY(拧干代码不要有水分) 不要有重复代码,很多概念实际就是为此存在,比如loops function和classes等等,如果有重复,进行抽象。http://en.wikipedia.org/wiki/Don

自由翱翔 782

转换shp坐标系之前,设置转换的投影

1.点击目录》工具箱》系统工具箱》Data Management Tools.tbx》投影和变换》创建自定义地理(坐标)变换 2.名称自定义 2.输入地理坐标系可以根据所需要转换的shp文件属性中查询出来 把图层拖入arcgis中,右键属性即可查看 3.复制坐标系,点击“输入地理坐标系”右侧的按钮后,粘贴在顶部搜索框中,并按enter键,选择对应的坐标系 4.点击“输出地理坐标系”右侧的按钮后,选择转换后的坐标系,如4326,选择后点击确认按钮。 5.自定义方法中选择

Wangwangwang___的博客 1864

优秀程序员的18大法则 -- The Principles of Good Programming

经过多年的积累,我发现,下面这些基本的指导法则,可以帮助我成为一个更加高效的程序员。   程序设计法则,与设计和工程的原理密切相关。下面这些编程法则帮助我让我获益匪浅,所以我想分享给大家,希望也能帮助大家更高效,生产出的代码更容易维护,并且 bug 和缺陷更少。   DRY 原则   不要重复(Don’t repeat yourself)——程序设计中一个最根本的原则

不断成长的我 626

comfyui利用 SkyReels-V2直接生成长视频本地部署问题总结 2 :寻找丢失的model 和工作流中 get set 方法的应用

寻找丢失的model 和工作流中 get set 方法的应用,为什么有写工作流 中有很多断掉的节点,没有相互链接?

AI懒虫 1790

如何利用VS2017创建一个简单的窗口

#如何利用VS2017创建一个简单的窗口 1、新建->Windows桌面向导 2、应用程序类型->桌面应用程序,点击确定 3、点击调试->开始调试 可建立如下图的窗口 4、可以在生成的项目文件的中找到windows17_2的应用程序,打开界面如下: 注:新建空白项目也可以,注意在解决方案资源器中添加.cpp文件,如源.cpp文件,下载代码见博文 ...

weixin_46894139的博客 2914

代码规范七大原则_避免滥用继承:程序员写代码必须遵守的七大原则之里氏替换原则...

一、什么是里氏替换原则只要能使用父类的地方,都可以用子类替换,反之则不然。它包含如下四个方面的含义:1、子类必须实现父类的抽象方法,但是不能覆盖父类的非抽象方法子类如果不实现父类的抽象方法,编译都通不过,这点没有问题,关键是不能覆盖父类的非抽象方法。2、子类可以增加自己特有的方法子类如果没有自己特有的方法,跟父类没啥区别,这点不需要解释。3、当子类重载父类的方法时,方法的形参要比父类更宽松如果重载...

weixin_39774445的博客 473

【Android】汽车电源管理:深入解析CarPowerManager与Suspend To RAM的交互机制

本文深入解析了Android Automotive OS中CarPowerManager与Suspend To RAM(深度睡眠)的交互机制。详细阐述了从车辆发出睡眠请求,到CarPowerManagementService协调应用状态,最终通过内核进入低功耗睡眠的完整流程,并探讨了唤醒机制、开发者实践及功耗优化策略,为车机应用开发与系统优化提供关键指导。

weixin_28339967的博客 291

接口隔离原则_接口最小化:程序员写代码必须遵守的七大原则之接口隔离原则...

一、什么是接口隔离原则Interface Segregation Principle,ISP:1、客户端不应该被迫依赖不使用的接口如果一个接口定义的十分庞大和臃肿,客户端可能就会被迫去依赖它完全不会使用的接口。2、类和类之间依赖的接口应该尽可能最小要为每个类去定义它们的专用接口,而不是去依赖一个臃肿的、各种方法都在里面的接口。一句话,接口要最小化。我们用一个例子来加深大家的理解:图1 违反接口隔离...

weixin_39964660的博客 723

大数据在电力行业的应用案例解析-【电力技术】(九)大数据在电力储能运维中的深度应用(含故障预测代码)

大数据技术为电力储能运维提供了“精准化、智能化、高效化”的解决方案,破解了传统运维的核心痛点,实现了储能系统从“被动抢修”到“主动运维”的转型,为新型电力系统建设提供了重要支撑。当前,随着储能产业的快速发展,大数据与储能运维的融合将更加深入,未来将结合人工智能、物联网、区块链等技术,实现储能运维的全流程智能化——从设备故障的提前预警,到寿命的精准预测,再到运维策略的自动优化、调度协同的实时响应,进一步提升储能系统的安全性、经济性与可靠性。

getusushu的博客 88

PyTorch实战(30)——使用TorchScript和ONNX导出通用PyTorch模型

在本节中,我们将深入探讨使用 TorchScript 导出 PyTorch 模型。通过序列化,TorchScript 使模型与 Python 生态系统独立,从而使得模型可以在其他环境中加载,例如基于 C++ 的环境。我们还跨越 Torch 框架与 Python 生态的边界,研究机器学习通用开放格式 ONNX,该技术能帮助我们将 PyTorch 训练的模型导出至非 PyTorch 甚至非 Python 环境。

盼小辉丶的博客 3535

写js一定要遵守的原则

在写javascript脚本时一定要注意:一定要遵守变量线申明,后使用的原则. 问题:自从加了Omniture代码后,我的程序中出现了,一个js脚本错误.查了半天才发现.Omniture代码中申明了一个全局的s变量.我的代码如下: functionFTB_Editor_onPaste(){try{vartext=window.clipboardData.getData('Tex...

weixin_30698527的博客 76

AI 智能体(Agent)应用开发工程师 · 进阶面试 (五)

在有多位 Agent 共同参与决策时(如评审委员会、代码审查小组),它们可能提出截然相反的建议。共识机制就是用来在这种冲突中得出唯一行动方案的规则。常用机制:多数投票:每个 Agent 一票,根据投票结果决定。实现简单,但忽略了专业度差异。加权投票:根据 Agent 的角色重要性或历史表现赋予不同权重,例如首席架构师 Agent 的票权重是普通开发者 Agent 的 2 倍。管理者仲裁:由一个权限更高的 Manager Agent 听取各方理由后做出最终裁决。这类似于层级制组织决策。辩论收敛。

篮球界最会写bug的人;程序猿中打球最菜的人。 393

程序员每日精进,你必须知道这五个原则!

蓝色关注,回复“1”获取知名公司程序员和产品职级由于微信推送机制变化,为了避免看不到我的文章推送,请各位读者朋友星标一下我,谢谢!见字如面,我是军哥。最近看了一本书,它的名字叫《原则》,...

chengjun_java的专栏 288

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

程序员应该遵守的开发原则之单一职责

单一职责原则(Single Responsibility Principle, SRP)是面向对象设计中的一个核心原则,它倡导简洁与清晰的设计哲学。简而言之,这一原则主张一个类应当仅负责一项任务或功能,即“一个类,一个职责”。这种设计思路旨在减少类之间的耦合度,提升代码的可维护性、可读性和复用性。想象一下,如果你是一位厨师,在厨房中既负责烹饪又负责打扫,那么当你烹饪的食谱有所变动时(比如需要新的调料),可能会影响到你打扫厨房的习惯或效率,因为这两个职责在无形中已经相互交织。

TP000的博客 2549

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

程序员应该遵守的开发原则之开闭原则

开闭原则作为软件设计的黄金法则之一,其目标在于塑造出既稳定又灵活的系统架构。这一原则强调系统应当对扩展保持开放的态度,同时对于修改则应当保持封闭,确保新增功能或变更需求时,既有的代码结构能够保持不变,从而减少潜在的错误与风险。遵循开闭原则,我们能够在不触动系统核心稳定性的前提下,轻松融入新的功能特性。这不仅极大地提升了软件的可维护性,也确保了系统在未来面对变化时能够展现出更高的适应性和可扩展性。

TP000的博客 2469

每个程序员都必须遵守的编程原则

       好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。 我不要自我重复 — 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重...

坚持而不浮躁 252

程序员应该遵守的 10 个编程原则

主要的编程思想及设计模式,程序员拥有一个较好的编程原则能使他的编程能力有大幅的提升,可以使其开发出维护性高、缺陷更少的代码。

hpx666的博客 1076

程序员应该遵守的编程原则

无规矩不成方圆,编程原则让程序员更加优秀。 程序员 好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。 我不要自我重复——这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的

泉州博远建材有限公司 668

程序员应该遵守的 10 个编程原则,你掌握了几个?

大家好,我是煎鱼。程序员拥有一个较好的编程原则能使他的编程能力有大幅的提升,可以使其开发出维护性高、缺陷更少的代码。以下内容梳理自 StactOverflow 的一个问题:编程时你最先考虑的准则是什么?本文目录:KISS(Keep It Simple Stupid)DRY(Don’t Repeat Yourself)YAGNI – You ain’t gonna need itCode For T...

EDDYCJY的博客 1308

【转】每个程序员都必须遵守的编程原则

原文:http://www.cnbeta.com/articles/152090.htm好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员,我相信,这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。我不要自我重复 — 这也许是在编程开发这最最基本的一个信条,就...

diche7031的博客 104

代码该怎么写——设计原则

代码该怎么写——设计原则 初学者学会编程语言后开始写代码,当我们实现一个功能后会有成就感,但是看了别人写的代码又大感困惑,他为什么把代码写得那么复杂?明明一个简单的功能,为什么要这样做? 还有人即使学会了编程语言,仍然不知道怎么下手写代码,哪里该创建一个类,哪里又该创建一个方法? 现代社会,文盲率很低,人人识字,但为什么不是人人都能当作家呢? 因为,我们只学识字是不够的,我们还得学习写作的技巧和套路,并且还要有一定的人生经历,这样才能成长为一个作家。简而言之,会写代码,和写好代码,是两个层面! 面向对象编程

编程之路的专栏 4978

前端开发需要遵守的原则

本文介绍了软件工程中的SOLID原则及其在前端开发中的应用。开放-封闭原则强调代码应对扩展开放但对修改封闭;里氏替换原则要求子类能完全替代基类而不影响程序行为;单一职责原则建议每个模块只负责一个功能;接口隔离原则主张避免强制实现无用方法;依赖倒置原则提倡高层模块依赖抽象而非具体实现。此外还介绍了DRY、KISS、YAGNI等其他开发原则,强调代码复用、简单设计和组合优于继承等理念。这些原则共同指导开发者编写更灵活、可维护的前端代码。

langchao12的博客 798
上一篇: mysqldump 备份和还原
下一篇: 为啥不做高效率的程序员
周帮主
博客等级 码龄17年 15粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值