[原创]Enterprise Architecture V7.5 C++代码生成时,头文件中函数声明没有注释,CPP中函数定义却有注释。...

  这几天一直在用Enterprise Architecture来抽象项目中要用到的一些数据结构和类,然后都做得差不多了之后发现,生成代码的时候.h文件中类成员函数部分没有注释,但是.cpp文件中的函数定义块却有注释,我觉得重点应该是要在头文件的成员函数声明的地方有注释效果更好,但是找了半天也没发现在哪里修改设置。

  然后找到了一个“代码工程模板”,里面有每个语言代码生成的时候用的模板,我不知道里面用的是什么脚本语言什么的,反正看着不是特别懂。

%synchNewClassNotesSpace="\n"%
%synchNewOperationNotesSpace="\n"%
%synchNewOperationBodySpace="\n"%
%synchNewAttributeNotesSpace="\n"%///
//  %fileName%
//  Implementation of the %elemType% %className%
//  Created on:      %eaDateTime%
%if classAuthor != ""%
//  Original author: %classAuthor%
%endIf%
///\n$COMMENT="WARNING: DO NOT MODIFY THIS TEMPLATE BELOW THIS POINT"
$guid = "EA_" + %TRIM(eaGUID,"{}")%
$guid = %REPLACE($guid,"-","_")%
$guid += "__INCLUDED_"
#if !defined($guid)
#define $guid\n
%ImportSection%
%list="Namespace" @separator="\n\n"%
#endif // !defined($guid)\n

  里面的C++代码生成部分模板代码如上。

  然后我就开始花了1个小时去分析他生成C++头文件中类的时候的操作,然后试图仿照他的样子去在模板中在成员函数声明前面加入这个函数的注释,结果实验了几个地方都没有效果,最后我注意到有一个变量。

  看下面两个模板:

  1.Operation Notes

  

%if genOptGenComments != "T" or genOptCPPGenMethodNotesInHeader != "T"%
%endTemplate%%PI=""%
$wrapLen = %genOptWrapComment%
$style = %genOptCPPCommentStyle%%if $style == "XML.NET"%
%XML_COMMENT($wrapLen)%
%elseIf $style == "JavaDoc"%
%JAVADOC_COMMENT($wrapLen)%
%else%
%CSTYLE_COMMENT($wrapLen)%
%endIf%

  2.Operation Notes Impl

%if genOptGenComments != "T" or genOptCPPGenMethodNotesInBody != "T"%
%endTemplate%%PI=""%
$wrapLen = %genOptWrapComment%
$style = %genOptCPPCommentStyle%%if $style == "XML.NET"%
%XML_COMMENT($wrapLen)%
%elseIf $style == "JavaDoc"%
%JAVADOC_COMMENT($wrapLen)%
%else%
%CSTYLE_COMMENT($wrapLen)%
%endIf%

  看到上面两个关键字没,然后我就google了genOptCPPGenMethodNotesInHeader这个词,发现一个网址,里面说了要让头文件中也有注释只需要修改一个软件的设置,结果就是因为Enterprise Architecture这个软件的设置不止在设置菜单中有,在工具——选项中也有部分设置,导致我绕了一个大圈子才发现解决方法。

  下面是传送门:

http://www.sparxsystems.com/enterprise_architect_user_guide/9.2/standard_uml_models/generation_option_field_substi.html

转载于:https://www.cnblogs.com/myme5261314/archive/2012/07/24/2607069.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios之mknetworkkit笔记

asi没法用了,蛋疼了,在af和mk之间纠结,感觉af不适合我的口味,解析和网络耦合相对似乎重了点 mk似乎默认的不支持下载的断点续传,这里参考网上的代码处理了下,0修改mk的库,下面是实现的代码 // /…

C++远征之封装篇——字符串类型

一、c中的字符串操作函数 二、字符串类型string 1、c中没有字符串类型,只有字符类型 因此对于字符串的操作,一般是用上面的函数来操作。 2、字符串的初始化 3、字符串相关的操作

无需格式转换直接发布DWG图纸到Autodesk Infrastructure Map Server(AIMS) 2013

无需格式转换直接发布DWG图纸到AIMS供Web用户浏览估计是AIMS2013里最激动人心的新功能了,看一下这个视频吧。 英文版: http://docs.autodesk.com/MAP/2013/ENU/map_videos_new_features/Publishing%20DWG%20files.html 中文版: http://docs.a…

分词相关技术(转载)

最近在做问答系统,自己在园子里面找了下资料,觉得不错,自己是菜鸟原创不行,废话不多说了,送上资料。 第一个是关于Lucene的分词技术 这里可以下载PDF看,Lucene 原理与代码分析完整版 目录如下:…

C++远航之封装篇——数据的封装

以对象为中心,具体来说,以谁做什么来代表程序的逻辑。所有操作都通过调用自己的函数来完成。 数据成员暴露了,不好的设计: 数据的封装:

游戏大厅 从基础开始(7)--绕回来细说聊天室(中间偏下)之女仆编年史2

老少爷们儿反击战 上一篇中 我们的女仆终于可以做一些像阳光下其他人一样的事情了,少爷们可以和女仆酱一起参加下午茶~ 难得的上流社会啊 这是永远1v1被人私有的女奴 和 喝茶时被人共有的女仆酱最明显的差异~ 明媚的午后阳光下,庭院里白色长餐桌两旁&am…

【转载】App.config/Web.config 中特殊字符的处理

写一个网站,遇到一个问题,发布以后,提示错误,但是即使打开错误提示(在web.config中打开),还是只提示错误,没提示什么地方错误,这让我知道了:是webconfig本身的…

Windows 8 C++/CX字符串

在C/CX里面是使用Platform::String类来表示字符串的类型,在windows运行时的接口和方法中,需要使用Platform::String来作为字符串参数的传递。如果需要使用标准C的字符串类型如wstring或者string的时候,可以将Platform::String与标准的C的字符…

C++远航之封装篇——类外定义和::

1、类内定义是把函数的具体实现写在类内部,默认是inline函数。 2、类外定义包含两种情况: (1)同文件类外定义 (2)不同文件类外定义

pipeline代码自动生成

如图所示,安装完插件后,Sample Step里就有相应的选项,选择某个选项后,点击Generate Pipeline Script按钮,就可以自动生成代码片段,然后放入pipeline流水线里就可以了 pipeline使用的是groovy脚本&#xff0…

一个简单的基于socket的通讯处理程序

2019独角兽企业重金招聘Python工程师标准>>> 这几天看书看得java网络编程,看到一个不错的,适合新手的,部分代码借鉴书上的,可能有地方还不是很成熟,不过可以借鉴一下,分为客户端和服务端&#x…

OncePerRequestFilter的作用

在Spring中,filter默认继承OncePerRequestFilter, OncePerRequestFilter源代码如下: /** Copyright 2002-2008 the original author or authors.** Licensed under the Apache License, Version 2.0 (the "License");* you may not…

C++远航之封装篇——构造函数

1、为什么需要构造函数? 见博客http://blog.csdn.net/zhhymh/article/details/6236317 2、c中的内存分区 (1)栈区 int x0;int *pNULL; (2)堆区 int *p new int[20]; (3&#xff0…

Vim基本操作总结

本文是学习Vim时的笔记总结,以便在遗忘时方便查找相关命令,原学习视频链接:https://www.imooc.com/learn/1129 1.1 Vim的4种模式 1.normal模式:使用i/a/o以及I/A/O进入插入模式,其中各快捷键的含义如下: i …

ASP.NET MVC3 中的AJAX

示例演示一个链接&#xff0c;点击后利用Ajax更新特定id的标签中的内容 首先在_Layout.cshtml中加入js <script src"Url.Content("~/Scripts/jquery-1.5.1.min.js")" type"text/javascript"></script> <script src"Url.Cont…

如何判断注册用户是否已经存在(membership验证)

如何判断注册用户是否已经存在&#xff08;membership验证&#xff09; MembershipCreateStatus iStatus; Membership.CreateUser(username, password, email, question, answer, true, out iStatus); ErrirMsgText.Visible true; switch (iStatus) …

安装win_server_2012的方法

1、从微软官网下载评估版。 2、查看你的当前版本。以管理员身份运行cmd&#xff0c;然后输入“DISM /online /Get-CurrentEdition”。如果是评估版&#xff0c;例如Standard&#xff0c;把“ServerStandardEval”中的Eval这四个字母去掉&#xff0c;就是你的当前版本。下图表明…

Delphi控件的“拿来主义”

"一个优秀的Delphi程序员&#xff0c;不仅要会写控件&#xff0c;还要会使用控件。" 我还是一个半瓢水的程序员&#xff0c;因此目前为止我所能努力达到的境界是: 一个半瓢水的程序员&#xff0c;管他会不会写控件&#xff0c;只要能拿来改就可以了。 使用过Delphi的…

WRF参数配置(PartV)

&bc_control spec_bdy_width 此参数指定用于边界过渡的格点总行数&#xff0c;默认值为5。此参数只用于真实大气方案。参数的大小至少为spec_zone 和 relax_zone的和。 spec_zone 指定区域(specified zone)的格点数&#xff0c;默认值为 1。指定边条件时起作用。 relax…

DHCP中继处理办法

这两天一直在客户这边测试DHCP&#xff0c;由于客户的网络是现成的server 2008 是后来加上去的&#xff0c;所以没有多的IP地址用于测试&#xff0c;只好拿客户的楼层网段来测试&#xff0c;由于需要跨VLAN实行DHCP地址分配&#xff0c;所有需要做DHCP中继。废话不多说&#xf…