當前位置:首頁 » 編程軟體 » 無注釋編程

無注釋編程

發布時間: 2022-10-05 12:11:31

⑴ keil軟體在編寫程序時注釋的有無對程序沒有影響吧沒有注釋應該沒事吧

注釋不會被編譯,僅僅優化程序的可讀性和可維護性,所以沒有影響。

⑵ 三菱plc讀出程序沒有注釋怎樣才能看到注釋

注釋都是別人編程序時加上去的,你可以根據設備動作。自己加上注釋

⑶ 為什麼在三菱PLC上下載的程序沒有注釋

注釋是編程者自己寫的,如果沒有那可能是編程者沒有寫
再有,軟體中「顯示」-----「注釋顯示」等前面也要有「對號」,要不即使有注釋也不顯示。

⑷ 考c語言編程題注釋要寫上去嗎標准答案上有注釋 我並沒有寫注釋

C語言編程規范-注釋

規則:
1:一般情況下,源程序有效注釋量必須在20%以上。
說明:注釋的原則是有助於對程序的閱讀理解,在該加的地方都加了,注釋不宜太多也不能太少,注釋語言必須准確、易懂、簡潔。
2:說明性文件(如頭文件.h文件、.inc文件、.def文件、編譯說明文件.cfg等)頭部應進行注釋,注釋必須列出:版權說明、版本號、生成日期、作者、內容、功能、與其它文件的關系、修改日誌等,頭文件的注釋中還應有函數功能簡要說明。
示例:下面這段頭文件的頭注釋比較標准,當然,並不局限於此格式,但上述信息建議要包含在內。
/*************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
File name: // 文件名
Author:
Version:
Date: // 作者、版本及完成日期
Description: // 用於詳細說明此程序文件完成的主要功能,與其他模塊
// 或函數的介面,輸出值、取值范圍、含義及參數間的控
// 制、順序、獨立或依賴等關系
Others: // 其它內容的說明
Function List: // 主要函數列表,每條記錄應包括函數名及功能簡要說明
1. ....
History: // 修改歷史記錄列表,每條修改記錄應包括修改日期、修改
// 者及修改內容簡述
1. Date:
Author:
Modification:
2. ...
*************************************************/
3:源文件頭部應進行注釋,列出:版權說明、版本號、生成日期、作者、模塊目的/功能、主要函數及其功能、修改日誌等。
示例:下面這段源文件的頭注釋比較標准,當然,並不局限於此格式,但上述信息建議要包含在內。
/************************************************************
Copyright (C), 1988-1999, Tech. Co., Ltd.
FileName: test.cpp
Author:
Version :
Date:
Description: // 模塊描述
Version: // 版本信息
Function List: // 主要函數及其功能
1. -------
History: // 歷史修改記錄
<author> <time> <version > <desc>
David 96/10/12 1.0 build this moudle
***********************************************************/
說明:Description一項描述本文件的內容、功能、內部各部分之間的關系及本文件與其它文件關系等。History是修改歷史記錄列表,每條修改記錄應包括修改日期、修改者及修改內容簡述。

4:函數頭部應進行注釋,列出:函數的目的/功能、輸入參數、輸出參數、返回值、調用關系(函數、表)等。
示例:下面這段函數的注釋比較標准,當然,並不局限於此格式,但上述信息建議要包含在內。

/*************************************************
Function: // 函數名稱
Description: // 函數功能、性能等的描述
Calls: // 被本函數調用的函數清單
Called By: // 調用本函數的函數清單
Table Accessed: // 被訪問的表(此項僅對於牽扯到資料庫操作的程序)
Table Updated: // 被修改的表(此項僅對於牽扯到資料庫操作的程序)
Input: // 輸入參數說明,包括每個參數的作
// 用、取值說明及參數間關系。
Output: // 對輸出參數的說明。
Return: // 函數返回值的說明
Others: // 其它說明
*************************************************/

5:邊寫代碼邊注釋,修改代碼同時修改相應的注釋,以保證注釋與代碼的一致性。不再有用的注釋要刪除。
6:注釋的內容要清楚、明了,含義准確,防止注釋二義性。
說明:錯誤的注釋不但無益反而有害。
7:避免在注釋中使用縮寫,特別是非常用縮寫。
說明:在使用縮寫時或之前,應對縮寫進行必要的說明。
8:注釋應與其描述的代碼相近,對代碼的注釋應放在其上方或右方(對單條語句的注釋)相鄰位置,不可放在下面,如放於上方則需與其上面的代碼用空行隔開。
示例:如下例子不符合規范。

例1:
/* get replicate sub system index and net indicator */

repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
例2:
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
/* get replicate sub system index and net indicator */
應如下書寫
/* get replicate sub system index and net indicator */
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
9:對於所有有物理含義的變數、常量,如果其命名不是充分自注釋的,在聲明時都必須加以注釋,說明其物理含義。變數、常量、宏的注釋應放在其上方相鄰位置或右方。
示例:
/* active statistic task number */
#define MAX_ACT_TASK_NUMBER 1000

#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
10:數據結構聲明(包括數組、結構、類、枚舉等),如果其命名不是充分自注釋的,必須加以注釋。對數據結構的注釋應放在其上方相鄰位置,不可放在下面;對結構中的每個域的注釋放在此域的右方。
示例:可按如下形式說明枚舉/數據/聯合結構。
/* sccp interface with sccp user primitive message name */
enum SCCP_USER_PRIMITIVE
{
N_UNITDATA_IND, /* sccp notify sccp user unit data come */
N_NOTICE_IND, /* sccp notify user the No.7 network can not */
/* transmission this message */
N_UNITDATA_REQ, /* sccp user's unit data transmission request*/
};
11:全局變數要有較詳細的注釋,包括對其功能、取值范圍、哪些函數或過程存取它以及存取時注意事項等的說明。
示例:
/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */ // 變數作用、含義
/* 0 - SUCCESS 1 - GT Table error */
/* 2 - GT error Others - no use */ // 變數取值范圍
/* only function SCCPTranslate() in */
/* this moal can modify it, and other */
/* mole can visit it through call */
/* the function GetGTTransErrorCode() */ // 使用方法
BYTE g_GTTranErrorCode;
12:注釋與所描述內容進行同樣的縮排。
說明:可使程序排版整齊,並方便注釋的閱讀與理解。
示例:如下例子,排版不整齊,閱讀稍感不方便。
void example_fun( void )
{
/* code one comments */
CodeBlock One

/* code two comments */
CodeBlock Two
}

應改為如下布局。
void example_fun( void )
{
/* code one comments */
CodeBlock One

/* code two comments */
CodeBlock Two
}
13:將注釋與其上面的代碼用空行隔開。
示例:如下例子,顯得代碼過於緊湊。
/* code one comments */
program code one
/* code two comments */
program code two

應如下書寫
/* code one comments */
program code one

/* code two comments */
program code two
14:對變數的定義和分支語句(條件分支、循環語句等)必須編寫注釋。
說明:這些語句往往是程序實現某一特定功能的關鍵,對於維護人員來說,良好的注釋幫助更好的理解程序,有時甚至優於看設計文檔。
15:對於switch語句下的case語句,如果因為特殊情況需要處理完一個case後進入下一個case處理,必須在該case語句處理完、下一個case語句前加上明確的注釋。
說明:這樣比較清楚程序編寫者的意圖,有效防止無故遺漏break語句。
示例(注意斜體加粗部分):
case CMD_UP:
ProcessUp();
break;

case CMD_DOWN:
ProcessDown();
break;

case CMD_FWD:
ProcessFwd();

if (...)
{
...
break;
}
else
{
ProcessCFW_B(); // now jump into case CMD_A
}

case CMD_A:
ProcessA();
break;

case CMD_B:
ProcessB();
break;

case CMD_C:
ProcessC();
break;

case CMD_D:
ProcessD();
break;
...
建議:
1:避免在一行代碼或表達式的中間插入注釋。
說明:除非必要,不應在代碼或表達中間插入注釋,否則容易使代碼可理解性變差。
2:通過對函數或過程、變數、結構等正確的命名以及合理地組織代碼的結構,使代碼成為自注釋的。
說明:清晰准確的函數、變數等的命名,可增加代碼可讀性,並減少不必要的注釋。
3:在代碼的功能、意圖層次上進行注釋,提供有用、額外的信息。
說明:注釋的目的是解釋代碼的目的、功能和採用的方法,提供代碼以外的信息,幫助讀者理解代碼,防止沒必要的重復注釋信息。
示例:如下注釋意義不大。
/* if receive_flag is TRUE */
if (receive_flag)

而如下的注釋則給出了額外有用的信息。
/* if mtp receive a message from links */
if (receive_flag)
4:在程序塊的結束行右方加註釋標記,以表明某程序塊的結束。
說明:當代碼段較長,特別是多重嵌套時,這樣做可以使代碼更清晰,更便於閱讀。
示例:參見如下例子。
if (...)
{
// program code

while (index < MAX_INDEX)
{
// program code
} /* end of while (index < MAX_INDEX) */ // 指明該條while語句結束
} /* end of if (...)*/ // 指明是哪條if語句結束
5:注釋格式盡量統一,建議使用"/* …… */"。
6:注釋應考慮程序易讀及外觀排版的因素,使用的語言若是中、英兼有的,建議多使用中文,除非能用非常流利准確的英文表達。
說明:注釋語言不統一,影響程序易讀性和外觀排版,出於對維護人員的考慮,建議使用中文。

⑸ 永宏plc上載的梯形圖里沒有元件注釋怎麼解決

你好,沒有硬體參考,我們是不知道注釋的,你可以嘗試著吧電腦打開在線監視,以及參考PLC的指示燈,在及其運行時候各參數的變化,指示燈的變化等。還有你注意下,是不是別人吧注釋隱藏了,編程軟體的工具欄里有個檢視按鈕,打開勾選「顯示元件注釋」,希望採納。

⑹ C語言編程:編寫一個程序,該程序的功能:去掉一個程序中的所有注釋,如「\\×××××」 「/*××××*/」。

這個程序可以實現對於注釋//---的一行內容進行刪除。
但對於/* */還不能實現。

程序中有兩點錯誤:
1,字元'\'要寫成轉義符
2,while條件不正確
對程序修改如下:

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
void main()
{
char ch,ch3;
char ch1;
char ch2;
FILE *r;
FILE *w;
r=fopen("f:\\a.txt","r");
w=fopen("f:\\b.txt","w");
ch1=fgetc(r);
while(ch1!=EOF)
{
ch2=fgetc(r);
if(ch1=='\\'&&ch2=='\\') //這里------
{
do
{
ch3=fgetc(r);

}while(ch3!='\n'); //這里------
}
else
{
fputc(ch1,w);
fputc(ch2,w);

}
ch=fgetc(r);
ch1=ch;
}
}

⑺ 編程實現去掉C語言文件中的注釋

給個思路吧:
按行讀取文件,在本行尋找字元「//」和「/*」
若找到「//」,則從字元/開始一直到行尾的所有字元全都去掉
若找到「/*」,則從此處開始尋找「*/」,刪除字元「/*」和「*/」及二者之間的字元

⑻ matlab編程怎麼大量去掉或隱藏注釋

選中你要注釋的那一段,按住ctrl+R,每行前面自動都出現%。
消除注釋,ctrl+T

⑼ 考計算機二級C語言上機的編程題需要敲點注釋上去嗎沒注釋扣分不

以自己參加二級和三級vb和c語言的經驗來說,沒有注釋,但如果要注釋請注意字元的輸入格式,如果錯了影響程序執行是會被判定為不合格的,到時候得不償失,沒有必要哈。

⑽ C語言編程:編寫一個程序,該程序的功能:去掉一個程序中的所有注釋,如「\\×××××」 「/*××××*/」。

這個程序可以實現對於注釋//---的一行內容進行刪除。
但對於/*
*/還不能實現。
程序中有兩點錯誤:
1,字元'\'要寫成轉義符
2,while條件不正確
對程序修改如下:
#include
#include
#include
#include
void
main()
{
char
ch,ch3;
char
ch1;
char
ch2;
FILE
*r;
FILE
*w;
r=fopen("f:\\a.txt","r");
w=fopen("f:\\b.txt","w");
ch1=fgetc(r);
while(ch1!=EOF)
{
ch2=fgetc(r);
if(ch1=='\\'&&ch2=='\\')
//這里------
{
do
{
ch3=fgetc(r);
}while(ch3!='\n');
//這里------
}
else
{
fputc(ch1,w);
fputc(ch2,w);
}
ch=fgetc(r);
ch1=ch;
}
}

熱點內容
醫院新冠肺炎疫情防控演練腳本 發布:2024-04-27 04:04:45 瀏覽:652
天津智慧網關伺服器雲伺服器 發布:2024-04-27 03:56:51 瀏覽:422
移門製作下料尺寸演算法 發布:2024-04-27 03:15:02 瀏覽:641
c語言5常量 發布:2024-04-27 02:38:49 瀏覽:991
源碼怎麼搭建 發布:2024-04-27 02:33:44 瀏覽:97
java獲取參數 發布:2024-04-27 02:22:21 瀏覽:501
unixlinuxwindows 發布:2024-04-27 02:10:55 瀏覽:445
nginx禁止ip訪問網站 發布:2024-04-27 02:05:43 瀏覽:845
webrtc伺服器搭建哪家價格低 發布:2024-04-27 01:30:08 瀏覽:141
oracle資料庫無法啟動 發布:2024-04-27 01:29:20 瀏覽:613