Re: [闲聊] 用控件有什么好丢脸的?

楼主: LaPass (LaPass)   2015-07-16 15:06:57
※ 引述《justlike5566 (5566天下无敌)》之铭言:
: 小弟不才 进程式设计职场二年多 说多不多 说少不少 主写C# ASP.NET
: 也会JQ JS SQL
: 一般在写时 VS跟DW 交换使用 方便除错跟套css
: 但一直以来有个状况我无法理解 网络上很多人说用软件套控件就是弱 烂 鸟 不熟
: 导至公司有些新人偏激到用TXT来写程式
: 就我的角度来看 如果你很熟练到一个程度
: 用TXT写asp.net 前台套ccs 后台还可以套using 那我当然没意见
: 可是很多人连SqlConnection都不熟练 还学高手用TXT
: 那我当然建议用VS 讲好听点就是用来当新手练习 想也知道那用了就回不去了
: 可是新人为了展现出他心里认为的强 所以他只装了notepad++
: 这根本本末倒置
: 到底是软件控件害人还是自嗨很爽?
来讲一下我的状况吧
你讲的“控件”我不太清楚是指什么
但依照记忆,你讲的那类IDE通常都会有一堆精灵,能自动生成程式码
我就当作是那个东西
还有,我不懂你讲的用txt写程式是指什么?
有IDE叫做txt或是你是指纯文字类的编辑器?
简单来讲,我不用你讲的“控件”
是因为“懒”以及“不用控件写起来比较简单”
我一开始是学C#,当然用的是Visual Studio C#
那时候大概是2008年吧
刚开始学,当然也是因为方便
因为很多东西用拖拖拉拉的就可以把视窗给拉出来
之后 Visual Studio 2010出来了,就是试着换用Visual Studio 2010
不过因为版面都改版了,觉得变得很难用
在之后,我开始学PHP
那时候我用的是DW
虽然DW也是拖拖拉拉就可以把东西拉出来,但是我发现并没有这么好用
因为,DW产生的程式码,有些去跟他动一下,DW就不认得了
不过那时候也只是稍微学一下而已,没拿来生产东西
一样,觉得DW很难用
接着是学JAVA,那时候是用eclipse 去写 android
JAVA的话,我就觉得用那种功能强大的IDE很方便
主要是因为java的语言的特性的关系
在这个时候我才开始觉得我会写程式
再接下来,我回头去写PHP,主要是因为工作需要的关系
那时候我用的是sublime
之后还写过JS Ruby 之类的
html, SQL也有,不过我不会把那些当程式语言来看
在这个时候我开始比较清楚该怎么挑IDE
大致上可以区分为两类
java c# 那种强行别静态语言
比较适合 visual studio, android studio, eclipse 之类的IDE
因为语言本身在编译时期就能知道到底程式码有没有错
JS Ruby PHP 之类的,用sublime 跟 nodepade++ 之类的比较方便
弱型别动态语言的话,如果想达到,在撰写时就检查、自动完成之类的
必须另外设定很多东西,这很不切实际而且很麻烦
如果真的想在弱型别动态语言上搞这个
干脆直接换强行别的语言去写
另外像是DW那种,算是“程式码生成器”的东西,最好不好用
那会扼杀撰写程式码的弹性
那种东西感觉起来比较像是,IDE自己定一套规则,要程式设计师依照那套规则去写
如果不照规则用,IDE就不能动
当然,有的人会说,他拿DW也只是为了要把程式码上色跟自动完成
我会想问,那为什么不干脆直接用sublime?
那样的功能也都有,而且免费。
还有,那些比较偏爱使用纯文字编辑器的人,也不一定对程式比较熟
像我就不会去背怎么开连线之类的
即使是现在,我也没办法默写 php 开连线的程式码
甚至连该用哪个 function, 我都还要去查才知道该怎么用
但是,这不会有影响
反正只有在专案一开始的时候,才会需要去写那种东西
我觉得使用IDE的“程式码生成”最大的差别是在于
“程式设计师本身对程式架构的掌控”
这是两种程式设计师在能力上,最大的区别
如果架构开的好
理论上是不会用到那么多的“自动生成”的程式码
那些“自动生成”的程式码
相当于:
把一段程式码剪下贴上到别的地方,然后把其中几个变量替换成其他名字
大部分的自动生成的程式码,都是这样子运作的。
这样一听应该就很容易知道问题在哪里了
剪下贴上一般是写程式的忌讳之一
如果遇到需要剪下贴上的片段,一般是把那段程式码抽出去封装成class或是function
举例来说
我记得以前DW连接数据库时
可以用个精灵选择数据库、以及字段等等
DW就会把连线的程式码给开好,并把SQL语法生出来
对当时还不熟SQL以及数据库的我来说很方便
但一阵子之后,就会发现DW没办法处理太复杂的报表以及数据库操作
还是得下去摸熟SQL
但是懂SQL之后,就会觉得,DW的SQL生成很麻烦
而且限制太多,有时候换了一套软件就得再次去找生成SQL的套件来用,很累
倒不如用最传统的方式下SQL指令去捞
而且,通常捞资料、更新资料都会另外拉function或是class去处理掉
真正写SQL以及捞资料的时间没多少
更进阶一点,可以找Active Record之类的ORM来用
那个根本连SQL都不用下,只需要把表之间的关联定义后,问题就通通解决了
当然,还是建议需要懂底下的SQL是怎么运作的
要不然有时候会遇到Active Record出现鬼打墙的状况
另外像是javascript、html跟css,也是同样的道理
自动生成的code通常很脏
未来要修改的话,有可能会遇到需要去抽换那些自动生成的code的架构的状况
请参考 bootstrap 、angularjs、 JQuery 的方式
如果想偷懒省事的话,可以直接套版
如果有闲以及能力的话,可以自己弄个跟那些东西差不多的架构来处理前端问题
以上,就是我为什么不去使用控件,也就是你所说的自动生成程式码的原因
虽然控件能让写程式变轻松
但自己用纯文字类的编辑器开架构时,也是有方法可以让写程式变轻松
而且那些方法不会受限于编辑器的控件,因此不会被绑死在同一款IDE上
简单来讲,就是换程式语言或是换开发环境时
那些知识可以“带着走”,而不会reset重来
作者: edward13 (-_-)   2015-07-16 17:00:00
他说的是asp.net webform用控件拖拉 套版根本杯具
楼主: LaPass (LaPass)   2015-07-16 17:37:00
喔喔... 没用过那种东西google一下,看起来也是自动成html js css的东西的样子?
作者: crossdunk (推嘘自如)   2015-07-16 20:32:00
那似乎跟DW一样,那我觉得用TXT还比较好XD或是用dw 只拿来打code 不用用拉的
作者: GoalBased (Artificail Intelligence)   2015-07-16 23:58:00
比自动生成的html js css还强,因为还绑后端也比DW好多了,这年头已经没看过程式设计师用DW的
作者: mmis1000 (秋月恋枫)   2015-07-17 00:16:00
加上后端只是受害范围更大而已吧...生成的code一样烂阿
作者: aspdoctor (大崎)   2015-07-17 00:43:00
其实新的DW cc 2015改进很多囉,生出的code干净多了,只是还是用sublime text之类能自己存些常用片段方便多了,拿到用DW生出的code还是需要自己修正,真的会有折腾了一晚还得靠祖先的无奈啊
作者: GoalBased (Artificail Intelligence)   2015-07-17 12:13:00
我没说好,我只是说比较强
作者: amazing2014 (别断线拜托)   2015-07-17 21:50:00
sublime猛

Links booklink

Contact Us: admin [ a t ] ucptt.com