百科问答小站 logo
百科问答小站 font logo



为什么 Dreamweaver 这类所见即所得的编辑器会生成很多垃圾代码? 第1页

  

user avatar   huangz 网友的相关建议: 
      

说Dreamweaver不愿意生成更漂亮的代码,真是太冤枉了,相信我,Adobe的Dreamweaver开发者(乃至世界上所有的WYSIWYG软件开发者)肯定是想尽一切办法让自己软件生成的代码更加漂亮。

但这里面有一个根本性问题,就是软件生成的代码也许永远都不可能达到和人类代码相同的水平——很多自动代码生成器,剥开它美丽的外表,隐藏在下面的通常都是肮脏的实现。如果哪一天,人类只需要对软件说出需求,然后软件就能自动生成软件,而且自动生成的代码不但高效,还很漂亮,那全世界的程序员就失业了。(再然后就是科幻小说的剧情:计算机统治了地球,人类沦为电池。。。)

Dreamweaver成为众矢之的、屡屡挨批的原因,除了因为受众广泛,很大程度跟使用者对它的定位错误有关:Dreamweaver是一个编辑器,有一个方便的WYSIWYG界面,它还有控件功能,可以只通过拖拖放放就生成一个网站,但这种控件自动生成的代码是用于制作原型的,且仅应该用于制作原型。

比如某天你灵感涌现,想出了下一个价值500亿美元的网站,你花了3天把程序写好,然后开始构思界面,但是你拿不准宽度该用960像素,还是1020像素,背景该用蓝色还是绿色,诸如此类,而且你也不想找美工商量,免得他/她只是画几个图就分走你50%的股份,于是你调出Dreamweaver,用控件拖拖放放,改几个属性,拼凑弄出你想象中的设计——在这个过程中,你不关心控件生成的代码是否美观,是否符合W3C标准,因为你只是想要个原型,一个能看的草图,仅此而已。

来回几次,你终于把样式决定下来,Dreamweaver的控件功能高效地完成了构建原型的作用,现在它的历史任务完成了,你祭出你的所有装备武装自己:VIM、FIREBUG、十个不同种类的网页阅览器、等等,对着Dreamweaver上的原型小心翼翼地编写一个优美的、符合标准的、使用最新最酷的HTML5和CSS3功能的网页,然后把这个网页用到你的程序上。(如果你喜欢Dreamweaver的语法感知功能,你当然也可以用Dreamweaver来写,但任何时候,你都知道自己不应该依赖控件生成的代码)。

之后网站开始上线运营,BETACN、SOLICOM和Counter-Strike DN用大篇幅报道了你的神来之作,10cent和摆渡试图抄袭你,但最终失败,某天你正在DEBUG之际,接到了一个不熟悉的电话,你说你很忙,没有空做采访,电话那一头的家伙说自己开了一个什么工场,你觉得似乎在哪个地方听说过这个名字,于是决定给他三分钟解释自己。。。

在城市的最高层建筑上举办上市庆功宴之际,有个无名小记向你请教创业心得,你拒绝了他的采访,可他仍然紧追不舍,你很感动,回忆起自己当初落魄之时,对着录音笔久久不能言语,最后终于开口:

“Dreamweaver是一个编辑器,也可以用它的控件来快速制作原型,但千万不要把这两件事搞混了。”

小记还想向你索要签名,但你只是挥了挥手,转身离开,这次小记没有再追上来,转而在自己的速记本上写上“当他说完这句话之后,眼睛泛起了泪光,久久不能自已,最后失声痛哭离场,留下一个孤单的背影。。。”




  

相关话题

  前端当前是否处在一个糟糕的时代? 
  程序员讨厌面试被问一些基础问题么? 
  用 Canvas 实现虚拟列表的难点在哪里? 
  为什么现代前端框架放弃了HTML的常规用法? 
  本人后台开发,前端说改个东西要两天,但我感觉撑死2小时,怎么破? 
  Web 前后端分离的意义大吗? 
  为什么后端按月份查询数据的时候,不直接让前端传一个年月就好? 
  国内做前端年薪有上50W的吗? 
  如何看待领导让测试把所有bug都指给前端? 
  为什么 Dreamweaver 这类所见即所得的编辑器会生成很多垃圾代码? 

前一个讨论
刚上网的那个年代遇到过什么趣事或囧事?
下一个讨论
主持人播报失误有惩罚制度吗?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利