动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.一个简单的编辑器雏形.
.用 c 写 CGI 程序简要指南.
.c/c++中的字符指针数组,指向指针.
.Windows Sockets:带存档的套接字.
.BCB中用Sender参数实现代码重用(.
.C++箴言:绝不重定义继承的非虚拟.
.创建一个可调整大小和拖拽的Edit.
.查看系统的cpp (C PreProcessor).
.Perform()与SendMessage()的不同.
.C语言初学者入门讲座 第十二讲 结.
.DirectX游戏开发入门.
.怎样在程序中利用C++支持多国语言.
.C++辨析系列谈(三).
.深入浅出Win32多线程程序设计之基.
.获取GetLastError返回信息.
.S-DES.
.More Effective C++:避免缺省构.
.C语言高效编程的的四招技巧.
.Windows Sockets:操作顺序.
.在C++Builder中使用DLL.

透视“语言大战”:C++呼唤敏捷实践

发表日期:2008-3-8 |


  以Linus Torvalds的一番言论为导火索,国内的技术博客们掀起了一场不大不小的“语言大战”。是否真如Linux之父所说的那样,“C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极轻易产生彻头彻尾的垃圾(total and utter crap)。”孟岩的切身经验颇值得玩味:   我早在N年前就发现自己写程序速度慢,我当时对STL远比四周人熟悉,照例说长缨在手,应该效率很高才对。结果发现不是,写程序的时候非凡没自信,总在想:“这样固然是可以work了,但恐怕有更好的方案吧,会是什么呢?加个模板参数试试?要么抽象出一个基类?做一个bridge模式?那么Ownership的问题怎么解决?谁来负责回收内存呢?移植一个boost::shared_ptr过来吧!可多线程情况下会不会拖慢速度呢?应该不会,可是会碰到循环引用的情况。要么在中间搞一个weak_ptr把循环链断开?哎呀不行不行,太复杂,别人也理解不了。还是先这样吧,能work就行。” 就这样,兜了一个圈子回来。有的时候,这个圈子不是纯柏拉图式的,我会真的实现不少 “优化” 设计来比对,那个时间啊,花花的就耗在里面了。   另一位资深的C++程序员刘未鹏则这样感叹:   群众是轻易被误导的,我也曾经是。以为把握了更多的语言细节就更牛,但实际却是那些语言细节十有八九是平时编程用都用不到的。C++中众多的细节虽然在库设计者手里面有其用武之地,但普通程序员则根本无需过多关注,尤其是没有实际动机的关注。一般性的编码实践准则,以及基本的编程能力和基本功,乃至基本的程序设计理论以及算法设计。才是真正需要花时间把握的东西。   显而易见,在C++这种语言上,人们投入了大量精力、撰写了大量图书和文章来关注它的语言细节,却对在真实环境下使用它解决问题的最佳实践重视不足。假如这还不够糟糕的话,不妨再看看C++在项目层面上的最佳实践——几乎没有任何成文的资料存在。当灵敏实践对于Java、.NET、Ruby等等社区的开发者逐渐成为常识时,C++程序员们还要花大把时间去学习摸索如何写一个好的makefile、如何组织自己的项目目录结构,更不用说持续集成和测试驱动开发了。   但C++团队仍然需要灵敏实践。据记者的了解,国内有多家从事电信、铁道等行业应用开发的IT企业已经痛感缺乏项目组织手段和质量保证手段带来的问题,并希望通过引入灵敏实践来改善项目质量,提高工作效率。在C++项目中引入灵敏方法,至少需要以下几方面的最佳实践作为支撑:   ·项目自动化:如何在make等现有工具的基础上,通过合理的项目组织,实现项目构建、集成、测试的完全自动化。   ·测试驱动开发:如何引入以CppUnit、CxxTest为代表的单元测试工具,并以测试驱动功能代码的开发。这个话题又可以引申出两个方面:   ·面向对象设计:针对某一特定领域的软件应用,如何进行合理有效的面向对象设计,使之有可能进行单元测试;   ·mock:如何为C++应用引入mock技术(甚至是IoC容器),从而简化单元测试。   ·持续集成:如何加快集成的频率,将C++项目与现有的持续集成工具(例如CruiseControl)结合起来,使集成状态成为项目健康情况的重要标示信息。   ·重构:如何有效利用现有工具,对规模较大的C++程序进行重构;如何避免使用对重构构成障碍的语言特性。   正如记者所指出的,C++的灵敏实践正在日益受到相关IT企业和开发团队的重视,但这方面的系统研究和资料仍然非常欠缺,给希望引入灵敏实践的C++团队造成了巨大的障碍。经验丰富的C++程序员们假如投入更多的精力来讨论和总结“如何用C++做好一个项目”,会给整个行业带来更大的价值。
上一篇:通讯录的源代码(用链表实现) 人气:1304
下一篇:C&C++论战之C++真的还有未来吗? 人气:697
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号