惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
D
DataBreaches.Net
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
Check Point Blog
腾讯CDC
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
IT之家
IT之家
月光博客
月光博客
U
Unit 42
K
Kaspersky official blog
T
Threatpost
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
GbyAI
GbyAI
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
云风的 BLOG
云风的 BLOG
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
Engineering at Meta
Engineering at Meta
Recorded Future
Recorded Future
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security @ Cisco Blogs
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Security Archives - TechRepublic
Security Archives - TechRepublic
Webroot Blog
Webroot Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Schneier on Security
S
Secure Thoughts
The Register - Security
The Register - Security
B
Blog RSS Feed
The Last Watchdog
The Last Watchdog
P
Palo Alto Networks Blog
爱范儿
爱范儿
B
Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
L
LINUX DO - 热门话题
C
Cisco Blogs
Spread Privacy
Spread Privacy
F
Full Disclosure
博客园 - 聂微东
T
The Blog of Author Tim Ferriss

博客园 - 未未

用vsstudio 设计Winform 高分屏上布局错乱的问题 探寻路径 jsonToxml 通过LL型方法实现(C#)[源] 数据类型和Json格式[zt] 繁星代码生成器开源 (源代码) 繁星查询分析器 代码生成器 架构提取工具-tqdemo SyCODE Syntax Highlighter javascript语法高亮引擎 自动代码生成和VBA脚本 代码生成工具的分类及比较 模板语法规则说明 繁星代码生成器0.91版 【视频】 0.9版-繁星代码生成器 转:C#开源资源大汇总 我的系分之路 你必须知道的10种国产编程语言 揭秘正则表达式 我的lxfRegex现实[源] 有关调试的方法 [源码]C# to SQL 的翻译器.net 1.1版
代码生成原则Top10
未未 · 2008-09-13 · via 博客园 - 未未

1.        对手写代码给予合适的尊重

尽管代码生成可以免去许多重复的工作,提高开发效率,但是你必须知道无论你的生成器有多么强大,多么灵活,都有很多特殊情况存在,这些可能都在你的代码生成器可归纳的范围之外。所以,虽然你使用了代码生成器,但是手写代码仍然是必需的。

2.        应当首先考虑手写代码。

即使有必要使用代码生成,也要在你确定你了解你的框架的时候再开始使用它。

3.        控制你的代码。

一个好的源代码管理系统是代码生成项目成功的必须的。如果你的生成器操作了已经包含了手写代码的文件,你就更需要一个版本管理系统来保障你的工作。

4.        对于实现语言作慎重的考虑。

用来实现生成器的工具不同于实现应用程序的工具。生成器的一个问题就是它尝试去解决那些应用程序所要解决的许多完全不同的问题。基于这一点,你应当认把生成器作为一个独立的项目来真的选择你的工具。

5.        将生成器整合到你的开发过程中。

生成器是工程师们使用的工具,所以,它应当合理的,完整的结合到开发过程中。可以使它整合到IDE工具中,或者build过程中。

6.        包含警告。

生成器生成的代码中应当对那些不应被改动的地方作出警告,以防止被手工改动。如果被手工改动,那么生成的代码的版本就无法保证一致。同时有可能使重要的地方出现不可预期的行为。

7.        使生成器更友好。

生成器是给程序员使用的工具,但是这并不意味着它就可以很粗糙。生成器应当告诉工程师他能够作什么,正在作什么,它生成了哪些文件。生成器应当是易用的,界面友好的。

8.        包含文档。

好的文档是生成器的一个卖点。你的文档应当完整,清晰,但是不要过多。而且要对关键的地方作特殊的说明,比如生成器能作什么,如何安装,怎样运行等。

9.        要记住并不是所有的人都会接受代码生成。

给你的同僚们看文档,培训,一个接一个的会议,这些对于你的生成器的成功推广是很危险的。人们对新事物总是充满怀疑,你需要让他们认识到生成器会给他们带来怎样的好处。

10.     认真维护生成器。

除非生成器只是一个临时的方案,否则在很长时间内都要认真的进行维护,生成器控制着大量的代码,维护生成器和维护代码具有同样的意义,你应当安排专门的时间和金钱来维护、升级它。