日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

翻到几年前的代码,我惊了。

發布時間:2023/12/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 翻到几年前的代码,我惊了。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

#做了個架子#

這幾天在整理實驗室,找外面的師傅,做了個架子。

用途嘛,在這個周圍布滿網,可以在里面調試一些較為危險的東西,比如無人機。

架子的四個角都裝了輪子,帶鎖的,方便固定整個架子不讓其移動,也方便我們移動這個架子。

地上之前鋪了跑道,后面都撕掉了,所以留下了很多膠,沒有處理好,所以地面比較黑。

后面在某寶上買了除膠的玩意,效果還不錯。可以有效除去一些膠布殘留下的玩意。

大家如果需要有一些難處理的膠印,可以買來試試。

#關于程序注釋#

裝了個臺式機,想著就把筆記本的一些東西整理到臺式機上,沒想到發現了大一時寫的代碼。。。

不看不知道,一看嚇一跳。

摘錄一些,大家一起感受下。

void wanggei(int a,int b)//畫網格{ initgraph(20*a,20*b); setbkcolor(BLUE); cleardevice(); setwritemode(R2_XORPEN); setfillcolor(WHITE); settextstyle(15, 0, _T("楷體")); // 操作說明 outtextxy(20, 10, _T("操作說明")); outtextxy(20, 30, _T("w:旋轉")); outtextxy(20, 50, _T("a:左移")); outtextxy(20, 70, _T("d:右移")); outtextxy(20, 90, _T("s:下移")); return;}void suiji(int a[],int b[])//生成隨機方塊{ int n; srand((unsigned)time(NULL)); n=rand()%(X-9); if(n==1) { a[0]=1+n;b[0]=Y+1;a[1]=1+n;b[1]=Y+2;a[2]=2+n;b[2]=Y+1;a[3]=2+n;b[3]=Y+2;//正方形的方塊。 return; } if(n==2) { a[0]=1+n;b[0]=Y+1;a[1]=2+n;b[1]=Y+1;a[2]=3+n;b[2]=Y+1;a[3]=2+n;b[3]=Y+2; return; } if(n==3) { a[0]=1+n;b[0]=Y+1;a[1]=1+n;b[1]=Y+2;a[2]=1+n;b[2]=Y+3;a[3]=1+n;b[3]=Y+4; return; } if(n==4) { a[0]=1+n;b[0]=Y+1;a[1]=2+n;b[1]=Y+1;a[2]=2+n;b[2]=Y+2;a[3]=2+n;b[3]=Y+3; return; } if(n==5) { a[0]=1+n;b[0]=Y+3;a[1]=1+n;b[1]=Y+1;a[2]=1+n;b[2]=Y+2;a[3]=2+n;b[3]=Y+1; return; } if(n==6) { a[0]=2+n;b[0]=Y+1;a[1]=2+n;b[1]=Y+2;a[2]=1+n;b[2]=Y+2;a[3]=1+n;b[3]=Y+3; return; } if(n==7) { a[0]=1+n;b[0]=Y+1;a[1]=1+n;b[1]=Y+2;a[2]=2+n;b[2]=Y+2;a[3]=2+n;b[3]=Y+3; return; }}void Judge(int a[],int b[],int n,int x[X+2][Y+2],int y[X+2][Y+2],int speed)//游戲規則{ int i=0,j=0,k,a0[4],b0[4]; char c; while(1) { for(j=1;j<=Y;j++) //消去的行 { for(i=1;i<=X;i++) if(i!=x[i][j]&&j!=y[i][j])break; if(i==X+1) { for(i=1;i<=X;i++) { Rectangle(i,j); x[i][j]=0; y[i][j]=0; } for(i=1;i<=X;i++) for(k=j+1;k<=Y;k++) if(x[i][k]==i&&y[i][k]==k) { x[i][k]=0; y[i][k]=0; x[i][k-1]=i; y[i][k-1]=k-1; Rectangle(i,k); Rectangle(i,k-1); } } } for(i=0;i<n;i++) Rectangle(a[i],b[i]); Sleep(1000-100*speed); for(i=0;i<n;i++) Rectangle(a[i],b[i]); for(i=0;i<n;i++) { a0[i]=a[i]; b0[i]=b[i]; }if(kbhit()) { c=getch(); Move(a,b,n,c); if(c=='s')speed=10; } else { Move(a,b,n,'0'); for(i=0;i<X+2;i++) for(j=0;j<Y+2;j++) for(k=0;k<n;k++) if(a[k]==x[i][j]&&b[k]==y[i][j]) { for(i=0;i<n;i++) { a[i]=a0[i]; b[i]=b0[i]; } return; } } for(i=0;i<X+2;i++) for(j=0;j<Y+2;j++) for(k=0;k<n;k++) if(a[k]==x[i][j]&&b[k]==y[i][j]) { for(i=0;i<n;i++) { a[i]=a0[i]; b[i]=b0[i]; } goto ex; } ex:; }}

什么感覺:寫的啥玩意。

拼音和英文混排,哈哈哈。給力不給力

最重要的是,沒有注釋。

說實話,雖然是我自己寫的,但我剛開始看的時候,這是啥變量啊。

這又是啥變量啊。為啥要放到這里。

變量的定義,務必要清晰,讓人一看就能夠知道大致意義。

有些朋友,對于自己熟悉的英文,可能會用英文表示,但如果不會表達,可能直接用aa,bb這樣沒有任何代表意義的字母來命名。

出現這種命名的話,如果代碼整體量較大,寫再多注釋都沒用,可讀性非常差,可能自己今天寫的,一個星期后回來再看,也忘記其代表的含義了。。。

所以,變量的命名極為重要。

#解決命名的好幫手#

基于此,在此給大家介紹一個網站:

CODELF,一個搜索界面,可以為變量進行專業的命名。

比如,項目中需要命名一個變量叫做溫度,有的童鞋一下想不起來怎么命名,直接用拼音溫度來表示了。


該網站,輸入一個中文詞匯,會彈出很多對應的翻譯。算是變相的翻譯~

同樣,函數的命名也可以這樣去操作。

放上網站:https://unbug.github.io/codelf/


另外,解決命名后,在別人第一眼看到程序時,就能夠了解我們接下來寫的代碼意義。

其次,就是具體的邏輯過程。這部分的注釋也尤為重要。

程序的過程說到底,無非就是用語句去操作變量,玩轉數據。交替得出最終我們想要的結果。

所以,程序操作過程,應該也值得記錄。畢竟以后維護的時候,再看到代碼時,能快速的理解其邏輯。

當然,有朋友會有另外的觀點:

程序結構不好,寫再多的注釋都沒用

但,如果程序結構好,注釋也多,代碼的可讀性應該就會更強了。

畢竟程序員最討厭的兩件事就是:

1、別人的代碼不寫注釋。

2、自己寫完代碼還要寫注釋。

《代碼大全》,講到注釋有以下幾個種類:

1、復述代碼—這種把代碼復述一遍的注釋最無聊。

2、解釋代碼—解釋代碼的思路,這種代碼可以有,但是大部分時候是因為代碼寫得不好。

3、概述代碼一句話告訴別人代碼做了什么,很好的注釋。

4、代碼意圖說明—指出代碼要解決的問題。

5、傳達代碼無法表述的信息—非常重要。

不知道各位朋友喜歡寫哪種注釋,還是喜歡寫完代碼絕對不回頭。


當然,注釋只是項目文檔之一,還可能要寫設計文檔、測試用例、變更列表、使用手冊等多種文檔去讓別人理解及維護項目。

這樣的話,如果只是單寫個程序注釋,應該算上是一件幸福的事情。

-END-

往期好文合集

雷軍 1994 年寫的代碼,經典老古董。

致初級開發者的一封信:堅持寫代碼!

新手如何快速上手Linux,韋東山告訴你。

??最 后??

?

若覺得文章不錯,轉發分享,也是我們繼續更新的動力。

5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等

在公眾號內回復「更多資源」,即可免費獲取,期待你的關注~

長按識別圖中二維碼關注

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的翻到几年前的代码,我惊了。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。