Ⅰ 怎樣寫好源碼分析文章
你好
( 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地址是絕對 唯一的,這樣就知道哪個客戶端發來的信息。