關於這項作業
在以程式碼為主的模式中,Rational Rhapsody 的程式碼產生行為是基於假設如果您將任何與程式碼相關的元素新增至模型,則您會喜好產品對您的程式碼做儘可能少的變更。所以,如果您在以程式碼為中心的模式中使用產生選項,則產品不會重新產生整個檔案。
它只會產生代表所新增元素的程式區段,並將它們插入您程式碼中的適當位置。其餘程式碼會完全維持原狀。
這項對您的程式碼做最小程度調整的原則,會導致與在以模型為中心的模式中產生程式碼相關的程式碼產生行為,有一些其他的差異:
- 產生的程式碼不會併入 IBM Rational Rhapsody註釋。
- 不會產生自動產生的程式碼(例如,getter/setter 和預設建構子/解構子。
- 如果您的程式碼包含無法匯入至 IBM Rational Rhapsody 模型的程式碼元素,則即時在您已使用 IBM Rational Rhapsody 程式碼產生特性之後,仍會保留此程式碼。
- 為儘可能維持格式化的一致,用於 IBM Rational Rhapsody 所產生程式碼元素的縮排,是根據在所新增程式碼之前的程式碼縮排。
以程式碼為中心之模型中的程式碼產生行為:
- 如果將 C 中的檔案或 C++ 中的類別新增模型,IBM Rational Rhapsody 會在您使用產生選項時,為它們產生新的檔案。
- 如果在模型中變更元素名稱,則您程式碼中參照至該元素的所有參照會在您下次產生程式碼時,更新指向它的所有參照。
- 當您新增元素至類別時,它會新增至程式碼中具相同可見性的最後一個元素之後。如果沒有具相同可見性的元素,它會新增至該類別的程式碼結尾。
註: 只有在使用
IBM Rational Rhapsody Advanced 程式碼產生設定時,才可使用以程式碼為中心的模式選擇性程式碼更新。以程式碼為中心的模式無法與較舊的模型搭配使用,除非您將
CodeGeneratorTool 內容從 變更為
Advanced。
註: 當在以程式碼為主的模式中工作時,不會針對狀態圖或活動圖產生程式碼。
程式碼中心模式中的重新產生程式碼:產生功能表選項,會啟動選擇性產生程式碼程序。然而,重新產生選項將會重新產生整個檔案。如果您使用重新產生選項來產生整個檔案,在來回轉換該檔案之前,都不會使用 IBM Rational Rhapsody 的選擇性程式碼更新特性。
因為原始碼檔案可能包含無法帶入 Rational Rhapsody 模型的元素,所以如果您決定要刪除程式碼並從模型重新產生所有程式碼,程式碼看起來將不會與原始程式碼相同,而且甚至可能不完整。如果您針對元件設定新的「目錄」,程式碼才會相同 - 在這種情況下,Rational Rhapsody 將會重新產生所有程式碼,而此程式碼將不必併入原始程式碼中的一切內容,保留不編譯程式碼的可能性。