作者tails32100 (Tails)
看板java
标题Re: [闲聊] 我遇到两派老师
时间Sat Jun 15 15:38:17 2013
小弟短短的浅见,看看笑笑就好
老师和教授的立场
通常会认为基础相当重要
大部分是认为,有着良好的基础才比较能写出的可用程式
(小弟以前的学校大部分都是这样)
公司和客户的立场
通常会认为效率相当重要
因为对於开发而言,时间就是金钱啊,谁管你怎麽写。
两派做法都有优缺点
Notepad派做法
在未来开发时遇到底层问题时
还有办法能够发现问题所在并解决
但学习上会花很多时间
就像教师亲自改考卷
除了算分数外,还能针对学生错误的答案给一些评语
但缺点就是改考卷太花时间了
IDE派做法
虽然仍然要学习IDE的使用,但IDE都把麻烦事解决了
开发者可以花更多心思在写程式上就好
但IDE做了什麽事,开发者不去touch就永远都不会知道
就像教师把考卷给小老师改
当然优点就是省事省麻烦,还有多的时间做更多的事 (效率啊~)
但缺点就是小老师怎麽做都无法得知 (比方说偷偷多给好朋友分数等)
分享最近小弟身边发生几件事:
小弟本身专长是PHP MySQL,曾花很长的时间去专研OO(PHP的)的特性和设计模式等。
小弟的partner专长是ActionScript和JQuery
他写过许多有趣的网页程式,包括3D呈现等等。
http://www.chee.com.tw/effect_sample/
上面样板先不看
中间网页效果和下面的FLASH都是他独立从头coding完成的
(他都是这麽说的Orz)
但最近遇到的是一个Android专案,要用Java写
对小弟和他而言无非是个痛苦,动态语言的方便要转成静态语言的严谨
但也只是硬着头皮边学边写
这专案要做一个在画布上画直线、圆等功能,并且要能储存和读取
储存和读取是小弟的专长,已经是写好的
画图功能是他的专长,他写了一个物件去代表画布上的图层
然後测试时他发现怎麽存怎麽读,所有物件都会被建立在同一个座标上
(因为是礼拜五晚上的事了 所以只是LINE上讲讲)
我:应该是物件没NEW吧!
他:有啊,一定有!
我:那也许设定值的时候有错?
他:有log过了,设定进去的值是对的!
我:算了~_~ 我也不知道问题,礼拜一再看好了Orz
(礼拜一帮他看程式)
我:程式是发生什麽错?设定座标进去的属性在哪?
他:(指)
我:(看了一下) 你座标的属性干嘛设定static,删掉之後99%就正常了。
他:真的吗 (trying ) 欸可以了Orz...
(只为了一个static...)
因为小弟基础功有花时间去练
自然也就比较能找出这个错误
但相反的
小弟开发速度通常都比partner慢
因为小弟只要遇到可以套设计模式、或是对未来改程式有帮助的方法,都会想去试看看
反覆测试的结果
如果可行还好,不可行就等於是浪费时间了
所以小弟常被partner骂功能写太慢 Orz...
结论:
其实用比较广义的角度来看就只是一个问题:
套件和工具要自行开发(=Notepad派)还是用别人开发好的(=IDE派)?
这个答案没有所谓的对错了
每个人也都会因时间和环境的变化而改变答案
小弟的情况:
本来用gedit、Kate开发PHP程式,後来就换成Aptana
本来用CLI去处理git的任何动作,後来都用GUI
本来是自己写action record,後来用别人写好的ORM
JAVA就是直接用Eclipse了
Eclipse真的很好用
但哪天遇到只有CLI可以用的话,就算是vi+javac也是要上啊Orz
--
感谢花时间读完小弟的小浅见 [逃]
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.68.4
※ 编辑: tails32100 来自: 59.126.68.4 (06/15 15:40)
1F:→ qrtt1:还是觉得 git 用 command 最顺手 xd 06/15 15:43
2F:推 PsMonkey:插花问... 连给 commit comment 也顺手吗? @_@ 06/15 15:53
3F:→ PsMonkey:我是从来没用过 command line 上 git 不清楚 [遮脸] 06/15 15:53
4F:→ qrtt1:不就是打字而已有差吗QQ 06/15 15:57
5F:→ PsMonkey:有人说他只用 GUI 作 commit,原因就是 comment 不好打 06/15 15:59
6F:→ PsMonkey:不是我不是我,我只会用 GUI [遮脸] 06/15 15:59
7F:→ tails32100:先承认[有人]就是你吧XD 我觉得GUI要看log很方便啊XD 06/15 16:02
8F:→ qrtt1:那是他不会用 vi 吧?预设指到 vi,改成自己习惯的editor呗 06/15 16:02
9F:→ qrtt1:有人是谁不重要,总之大家选自己有生产力的方法就行了 06/15 16:04
中肯~
离开学校环境,效率变成主要考量因素後,就变成只求有生产力就好了
10F:→ PsMonkey:我只是想知道我是不是被唬烂了 XD 06/15 16:18
11F:→ tkcn:是 06/15 17:56
12F:推 brianhsu:git commit comment 的时候用的是外部的编辑器,你爱用 06/15 18:00
13F:→ brianhsu:什麽都可以。XDDD 06/15 18:01
14F:→ PsMonkey:推文方向歪掉了,我对原 po 感到抱歉 Orz 06/15 18:25
讨论Git也不错啊,不要歪到程式无关的就好XD
15F:→ andymai:只能说~出来跑~总是要还的~用IDE不代表就能不熟~要挖多深 06/15 18:40
16F:→ andymai:懂多少~不是公司需要~就是自己需要... 06/15 18:42
17F:→ mars90226:原来可以使用外部的编辑器阿...我都打在cmd里orz 06/15 18:46
18F:→ PsMonkey:感谢楼上救援 XD 06/15 18:49
已习惯GUI用法了
一开始有学command 不过忘得差不多了Orz
19F:推 if4:哈!打中文空格(全型)你会找不到BUG在哪里,即使检查了N遍 ^_^ 06/15 19:09
20F:→ cuteclare:IDE好可怜~连static的错她都要吞 06/15 20:22
static那是pathner基础观念错误啦,跟IDE无关
就算建N个物件 static还是只有一份
那里只是举个例子表示基础的重要(=Notepad派)
後面也举了一个反例表示效率的重要(=IDE派)
※ 编辑: tails32100 来自: 59.126.68.4 (06/15 22:08)
21F:推 Schelfaniel:个人觉得像Scala整个把static的拆到object去比较直觉 06/17 19:58