最近在看公司源代码的时候,经常有一些超长函数出现,甚至超过1000多行的函数都大有存在,这大大影响我对代码的理解,所以写下此文,当然只是自己的想法,不强加于人,只为勉励自己。在以往的软件开发中,对于函数我也是想写多长就写多长,从来不去想它有多长这个“无聊的问题”,因为对于一个函数应该写多长并没有一个确切的定义,这应该看具体情况决定。我个人觉得,无论是类还是函数,都应该满足单一职责原则,如果出现一个函数过长或者代码块嵌套过深的情况,常常是因为没有满足这一原则
系统 2019-08-12 01:51:42 2394
1//example_1.c23#include45intmain(void){6printf("HelloWorld!!.\n");7return0;8}1//example_2.c2#include3#include4#include5#include6#include7#include8#include
系统 2019-08-12 01:33:54 2394
函数:syslog()功能:记录至系统记录。头文件:#include语法:intsyslog(intpriority,stringmessage);返回值:整数函数种类:操作系统与环境内容说明:本函数将message字符串写到系统纪录中,参数priority的值可能为LOG_EMERG、LOG_ALERT、LOG_CRIT、LOG_ERR、LOG_WARNING、LOG_NOTICE、LOG_INFO、LOG_DEBUG。本函数呼叫UN
系统 2019-08-12 01:33:51 2394
openlog("vtund",LOG_PID|LOG_NDELAY|LOG_PERROR,LOG_DAEMON);打开系统记录在lib.c中定义,voidvtun_syslog(intpriority,char*format,...){staticvolatilesig_atomic_tin_syslog=0;charbuf[255];va_listap;if(!in_syslog){in_syslog=1;va_start(ap,format);vsn
系统 2019-08-12 01:33:50 2394
硬件中断线总是有限的,我们可能需要在已有的系统上做一些扩展,比如将串口扩展成好几个,有些硬件本身就设计成多个设备共享一条中断线,比如我的系统中两个串口就共享同一个CPU中断,任何一个串口发生中断以后都会触发CPU的同一条中断线,需要判断别的寄存器来确定是哪个串口发生了什么中断。我们可以在OAL中分析各个中断源,然后返回不同的SYSINTR值,但这种做法扩展性不好。例如,OAL中设值某个中断源最多会产生三个SYSINTR,但以后扩展成了四个设备,有一个设备就
系统 2019-08-12 01:33:36 2394
问题:sqlserver2000sp3数据库复制报错:{callsp_MSget_repl_commands(6,?,0,7500000)}违反了PRIMARYKEY约束'PK__@snapshot_seqnos__1B8078A1'。不能在对象'#1A8C5468'中插入重复键。Solution:Changeofstoreprocedureindistibution:sp_MSget_repl_commandsfrom:declare@snapshot_
系统 2019-08-12 01:33:31 2394
1.直接将Html转成Word。MVC自带FileResult很好用。Html中我们也可以嵌入自己的样式。html:| 姓名
系统 2019-08-12 01:33:14 2394
原文:sqlserver2008搭建链接服务器成功后查询时报Cannotobtaintheschemarowset"DBSCHEMA_TABLES_INFO"forOLEDBprovider"SQLNCLI10"forlinkedserver"XXXXX".的解决方法这是由于链接的数据库服务器的版本与本地数据库服务器不一致,有人说要升到sp3,sp4,然后在执行什么语句之类的我觉得太繁琐了,通过网上查询之后看到可以这么做:USEmasterGRANTEXE
系统 2019-08-12 01:33:11 2394
刚刚进入公司,新人教育中要求我学习使用SVN,CVS版本控制工具。由于公司的文件我不敢妄加改动,所以就想着在别的地方能够训练我的SVN,CVS操作,然后我就申请sf.net的开源项目了。注册不是问题,注册成功后登录,点击“CreateProject”,根据提示填入项目的相关信息就OK了。然后系统会给你SVNcheckout的地址。checkout不需要权限验证(谁让sf.net是开源项目网站呢?)。如果要提交修改(commit),就需要登录了,就是我SF帐
系统 2019-08-12 01:32:52 2394
eXo正在从一个单纯的门户向一个丰富的产品线转换。它集成了JavaContentRepositoryAPI,企业内容管理,商业智能BI和groupware.阅读"eXoPlatformv2,Portal,JCR,ECM,GroupwareandBusinessIntelligence"Trackback:http://tb.blog.csdn.net/TrackBack.aspx?PostId=546650eXo门户集成了更多的JCR,CMS,商业智能和G
系统 2019-08-12 01:32:49 2394
|