Ⅰ 怎样写好源码分析文章
你好
( 1 )读懂程序码,使心法皆为我所用。
( 2 )摸清架构,便可轻松掌握全貌。
( 3 )优质工具在手,读懂程序非难事。
( 4 )望文生义,进而推敲组件的作用。
( 5 )找到程序入口,再由上而下抽丝剥茧。
( 6 )阅读的乐趣,透过程序码认识作者。
阅读他人的程序码( 1 ) ---读懂程序码,使心法皆为我所用
程序码是别人写的,只有原作者才真的了解程序码的用途及涵义。许多程序人心里都有一种不自觉的恐惧感,深怕被迫去碰触其他人所写的程序码。但是,与其抗拒接收别人的程序码,不如彻底了解相关的语言和惯例,当成是培养自我实力的基石。
对大多数的程序人来说,撰写程序码或许是令人开心的一件事情,但我相信,有更多人视阅读他人所写成的程序码为畏途。许多人宁可自己重新写过一遍程序码,也不愿意接收别人的程序码,进而修正错误,维护它们,甚至加强功能。
这其中的关键究竟在何处呢?若是一语道破,其实也很简单,程序码是别人写的,只有原作者才真的了解程序码的用途及涵义。许多程序人心里都有一种不自觉的恐惧感,深怕被迫去碰触其他人所写的程序码。这是来自于人类内心深处对于陌生事物的原始恐惧。
读懂别人写的程序码,让你收获满满
不过,基于许多现实的原因,程序人时常受迫要去接收别人的程序码。例如,同事离职了,必须接手他遗留下来的工作,也有可能你是刚进部门的菜鸟,而同事经验值够了,升级了,风水轮流转,一代菜鸟换菜鸟。甚至,你的公司所承接的专案,必须接手或是整合客户前一个厂商所遗留下来的系统,你们手上只有那套系统的原始码(运气好时,还有数量不等的文件) 。
诸如此类的故事,其实时常在程序人身边或身上持续上演着。许多程序人都将接手他人的程序码,当做一件悲惨的事情。每个人都不想接手别人所撰写的程序码,因为不想花时间去探索,宁可将生产力花在产生新的程序码,而不是耗费在了解这些程序码上。
很遗憾的是,上述的情况对程序人来说很难避免。我们总是必须碰触到其他人所写成的程序码,甚至必须了解它,加以修改。对于这项需求,在现今开放原始码的风气如此盛行的今日,正如之前的“程序设计2.0 ”文中所提到的,你可以透过开放原始码学习到新的技术,学习到高手的架构设计,大幅提高学习的效率及效果。你甚至可以直接自开放原始码专案中抽取,提炼出自己所需的程序码,站在巨人的肩膀上,直接由彼端获得所需的生产力。从这个观点来看,读懂别人所写的程序码,就不再只是从负面观点的“被迫接收” ,而是极具正面价值的“汲取养份。 ”
先了解系统架构与行为模式,再细读
倘若撰写程序码是程序人的重要技艺之一,那么读懂别人的程序码,接着加以修改,也势必是另一个重要的技艺。
满意请采纳
Ⅱ 有没有什么好的源码下载网站
我个人感觉目前源码下载网站,这个是非常不错的,更新也很快,有很多独家源码:http://code.knowsky.com/
Ⅲ 企业免费建站哪个网站系统比较好
织梦的好,用的人多,优化方便!
Ⅳ 企业网站源码有没有免费的,无任何限制的好源码,求推荐!
不知道你要什么样的,完全符合自己心意的哪里有啊,不然还要我们程序员干嘛,一般好的也不会随便免费放网上,有网站技术问题可问我
Ⅳ 易语言怎么运行时创建自身的快捷方式到桌面我的文件名叫超级菜单,能帮我写好源码吗
.版本 2
.支持库 PBShell
创建快捷方式 (取特定目录 (3) + “超级菜单”, 取运行目录 () + “\超级菜单.exe”, , , )
Ⅵ 用哪个网站源码好
很多网站管理系统了,比如pageadmin系统、shopex系统、wordpress系统这些,看你想做什么类型网站了,喜欢什么就做什么
Ⅶ 个股分时图上能叠加布林线吗求好源码!谢谢!
当然可以了,但是你要用通达信,大智慧什么的都不能自己插入指标(也许可以但我不会)。
BOLL:MA(CLOSE,N);
UPPER:BOLL+2*STD(CLOSE,N);
LOWER:BOLL-2*STD(CLOSE,N);
参数N最小是2,最大是120,缺省是20.
然后在“画线方法”里选“主图叠加”。
最后嘛,指标的名字你可以自己设了,嘿嘿,也可以设个密码等等。
如果有不懂+我,594944452,我可以帮你。
祝你成功!
Ⅷ 用C语言求1234567890123456789+9876543210123456789,最好源代码有解释,万分感谢
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain()
{
chara[1000][1002]={0};
charresult[1002]={'0'};
intn,i,j;
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%s",a[i]);
for(i=0;i<n;++i)
{
intlen1=strlen(a[i]);
intlen2=strlen(result);
if(len1<len2)
{
inttemp=0;
for(j=len2-1;j>=len2-len1;--j)
{
if(temp+result[j]+a[i][len1+j-len2]-'0'-'0'>=10)
{
result[j]=temp+result[j]+a[i][len1+j-len2]-'0'-10;
temp=1;
}
else
{
result[j]=temp+result[j]+a[i][len1+j-len2]-'0';
temp=0;
}
}
for(j=len2-len1-1;j>=1;--j)
{
if(result[j]+temp<='9')
{
result[j]+=temp;
temp=0;
}
else
{
result[j]='0';
temp=1;
}
}
if(result[0]+temp<='9')result[0]+=temp;
else
{
result[0]='0';
for(j=len2-1;j>=0;--j)
result[j+1]=result[j];
result[0]='1';
}
}
else
{
inttemp=0;
charTEMP[1001]={0};
for(j=len1-1;j>=len1-len2;--j)
{
if(temp+a[i][j]+result[len2+j-len1]-'0'-'0'>=10)
{
TEMP[j]=temp+result[len2+j-len1]+a[i][j]-'0'-10;
temp=1;
}
else
{
TEMP[j]=temp+result[len2+j-len1]+a[i][j]-'0';
temp=0;
}
}
for(j=len1-len2-1;j>=1;--j)
{
if(a[i][j]+temp<='9')
{
TEMP[j]=temp+a[i][j];
temp=0;
}
else
{
TEMP[j]='0';
temp=1;
}
}
if(len1>len2)
{
if(a[i][0]+temp<='9')TEMP[0]=temp+a[i][0];
else
{
TEMP[0]='0';
for(j=len1-1;j>=0;--j)
TEMP[j+1]=TEMP[j];
TEMP[0]='1';
}
}
else
{
if(temp==1)
{
for(j=len1-1;j>=0;--j)
TEMP[j+1]=TEMP[j];
TEMP[0]='1';
}
}
strcpy(result,TEMP);
}
}
intzero=0;
while(result[zero]=='0')
{
++zero;
}
intlength=strlen(result);
for(j=zero;j<length;++j)
result[j-zero]=result[j];
length-=zero;
for(j=length;j<1002;++j)
result[j]=0;
if(result[0]==0)result[0]='0';
printf("%s",result);
system("pause");
return0;
}
以前做的一个,可以求多个大数的和。你这个问题就属于求大数的和。关键思路是字符串化,难点在于进位,用一个temp储存进位与否即可。
Ⅸ C++在github上托管的质量比较好源码有哪些
不要老去找“高质量”的代码读,也要找些“低质量”的代码读读,没有对比你哪知道高质量的代码质量高在哪里?
另外,不要只是读,还要写,还要参与,否则你根本不可能知道代码质量到底是高还是低。
Ⅹ 多个客户端,服务器怎么知道是哪个客户端发来的消息(最好源码)
客户端连接服务器的时候需要提供自己的IP地址,IP地址是绝对 唯一的,这样就知道哪个客户端发来的信息。