编程随笔

1,程序要简单,在能达成功能的前提下,应该越简单越好,不应该整得太复杂。

2,程序要注意性能,其实主要降低性能的地方主要有几个地方:

1),调用数据库,尽量减少调用数据库的次数,避免一次查询大量数据,尽量不用*代替各个具体字段

2),写文件,尽量减少读写文件次数,可以用缓存减少写文件的次数。

3), 网络传输,尽量减少次数。

4),序列化与反序列化,这个也是比较Latency也是比较高的。

5),注意算法和数据结构,数组,ArrayList的get和set的算法复杂度是常数级,但有些集合的一个get操作的算法复杂度就是O了。

3,多写高质量的注释,不要为了注释而注释,复杂的不太能看懂的要多注释,注释可以包括代码的功能,修改的目的,甚至是逻辑的背景。

如果产品是一个类库,应该把相应的xml注释打包输出。

4.日志:

1),接口的话,应该接收输入和反馈输出时都记录log,以备核查,同样的,如果是调用一个接口,在调用前后也应该记录log。

2),异常需要log,但log时不应该只输出exception的信息,还需要输出相应的背景数据。

3),大的系统日志,应该给各个子模块编号,根据子模块及消息编码来定位错误。
4),日志一定要有级别,如果是经常可能出现的异常,比如网络连接异常,应该设置为warn,而不是error,否则海量的日志会把其他可能更重要的日志淹没。

时间: 2024-08-26 02:17:33

编程随笔的相关文章

JavaScript高级编程随笔

前言: 本人之前在博客园写过一遍关于MVC基础的一个小文章,由于当时各种原因没能继续坚持写下去,最近本人在学习JavaScript,想用自己的方式整理出来,主要是为了加深自己的印象,我还是一个前端的小学生,希望各位前端的前辈多指点.我会吧每一章节学到的看到的整理到我的博客园里,虽然这本书前面讲的很基础,我也会坚持发表文章.好了废话说到这里开始进入正题. Content: 本人现在准备要看的第一本书是<JavaScript高级编程>[第三版],这是一本比较经典的JS书籍,即使前面几章比较简单基础

C++多线程编程随笔

今天尝试着写利用纯C++写多线程,撇开windows的API,利用C++11提供的thread.h中提供的创建线程类完成线程的创建和执行. 我自己封装了一个MysqlServer类,在类中包含了一个sync函数,此函数负责创建一个线程,并且一直执行,直到程序被关闭才结束,去完成其他的一些操作. sync刚开始是这样的: 我进行调试后发生了这样的错误: 但是sync创建的这个线程仍在运行,并没有因为这个错误导致UploadUpdate线程结束,而如果我不用线程,直接调用uploadToMysql函

windows核心编程随笔

MultiByteToWideChar(char *转Unicode) char text[256] = {0}; char text1[256] = {0}; int i=0; GetDlgItemTextA(this->m_hWnd,IDC_EDIT1,text,256); int j= strlen(text); while (j) { text1[i] = text[j-1]; i++; j--; } int len = MultiByteToWideChar (CP_ACP, 0, t

C#高级编程随笔

1.把类创作的变量叫做对象2.类就是对象的模版3.类定义了每个对象的数据和功能4.接口不能被实例化,抽象类不能被实例化5.抽象基类可以包含非抽象方法,而接口只能包含抽象方法6.一个类可以实现多个接口7.接口不能被实例化8.C++支持多重继承,C#不支持多重实现继承,继承多个类或者接口,用逗号隔开 接口1.interface2.接口只能包含方法,属性,索引器和事件的声明3.接口可以彼此继承4.实现接口的时候必须要实现接口中所有的方法,不能遗漏任何一个. 泛型1.Count属性访问元素个数2.设置一

编程随笔-ElasticSearch知识导图(1):全景

1. 由ElasticSearch开始的思考 ??官方介绍Elasticsearch(以下简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎.但我最初了解ES却是从NoSQL数据库开始,在使用.研究了ES一段时间后,我发现这是一个优秀的分布式部署软件,不仅是一个全文搜索引擎.还是一个分布式存储系统.一个分布式数据库.??在ES之前我们习惯使用关系数据库(RDBMS)来进行现实数据世界的建模,将现实世界中的领域模式表示为实体-关系模型(E-R模型).但现实世界的领域本体(Onto

编程随笔-ElasticSearch知识导图(2):分布式架构

1. 集群结构 ??在我们探究ES的分布式架构之前,我们使用一个简单的导图描述一下我们在设计分布式系统时会考虑的问题,如图1所示.??带着图1中的问题我们来探究一下ES集群,ES集群是一个典型的主从结构,从某种意义上来说,符合现今大多数主流分布式存储.分布式计算系统的审美要求.下面我们逐步来了解集群中的这些东东.??先用来自文献2的一张集群结构图开始我们的探究. 1.1 集群节点 ??在ES集群中,一个ES实例就是一个节点(node),图2中显示的是三个节点的一个集群.集群中有一个主节点(mas

【架构】分布式系统雪崩效应处理方案

分布式系统雪崩效应处理方案 异步 雪崩_百度搜索 如何应对并发(2) - 请求合并及异步处理 防雪崩利器:熔断器 Hystrix 的原理与使用 - 编程随笔 - SegmentFault 两种常见雪崩的原理及其避免方法_公园里de石头_新浪博客 [问底]徐汉彬:Web系统大规模并发--电商秒杀与抢购-CSDN.NET 漫谈雪崩 - mikeszhang的专栏 - 博客频道 - CSDN.NET 漫谈雪崩 - 系统其他栏目 - 红黑联盟 前言 分布式系统中经常会出现某个基础服务不可用造成整个系统不

JS DOM 编程艺术 随笔

DOM 最大的作用就是将整个文档通过节点树来展现.通过类似方法可以获取特定节点,并绑定js方法实现与人的交互. 1.通过dom方法,获取页面的元素(getElementsByTagName/id,通过class(getAttribute))2.获取元素之后,为他们绑定行为(点击/其他)的处理事件3.最后把所有函数绑定到window.onload()函数上面去 onload = function(){function1function2...} plus 小技巧: <a onclick=>函数

《斯坦福大学公开课:编程方法学》随笔

这是观看网易公开课 Mehran Sahami教授的<斯坦福大学公开课:编程方法学>后的随笔. 目前只看到第三次课,<Karel与Java>,我的收获有以下要点: 1.软件工程跟普通的写代码是不同的.软件应该考虑很多东西,比如:可移植性.便于升级维护等等,而不仅仅是写出代码实现功能那么简单. 2.代码是写给机器执行的,但更重要的是人要让人能看懂.(代码后期维护等等的工作量或者时间是写代码的10倍及更多,所以让代码更规范更易被人读懂很重要) 3.准确定义一个函数.一个类.一个包的功能