关于代码规范性和对技术的态度

2012-07-30 23:32:20 +08:00
 willwen
我有一个刚高中毕业的朋友,他是专注于网页设计的,所以CSS会比较出色,PHP也不差(SAE)。
他有很多作品我都十分欣赏,不过就是有一个问题,让我一直都十分苦口婆心地去跟他讲。就是代码的规范性,我是写JavaScript的,大家都知道JavaScript的语法风格十分灵活,但是出于团队协作,我都是十分严格要求自己的代码风格一定不能随便,代码清晰,各种东西都严格遵守。而我的那个朋友一直都是以一个宗旨为出发点——减少网络传输量。
就拿JavaScript来说,在他的作品上,基本能看到一坨坨的代码。可阅读性差,而且明显的功底不足(我也成功地让他重新阅读学习)。
也或许是目前他大部分都是自己的实验性开发,团队协作性开发接触的并不多(连Github都不会用)。

最后是我的一些观点:
1. 要养成代码规范的好习惯,并不是为了标准而标准,而是为了能得到更有价值的自我提升。这对自己还是团队都是有好处的。
2. 在自成一派的同时,要想想自己的风格是否能让别人接受,即使是一小撮人也好。
3. 要培养良好的学习能力,也要懂得虚心接受,想必这个小学老师已经说了千万遍了。
4. 懂得分享和接受意见,也要学会对比和接受现实。比如他说过“我觉得Node.js能做的事,PHP一样能做。”那么我必须要讲,PHP的性能和无法接触底层绝对是硬伤。
5295 次点击
所在节点    程序员
35 条回复
lidashuang
2012-07-30 23:52:18 +08:00
PHP的性能和无法接触底层绝对是硬伤,php,
不能接触底层昨成了硬伤?
Hyperion
2012-07-30 23:55:35 +08:00
弱弱的问下, 究竟怎么样才能被定义为接触到底层?...
Mutoo
2012-07-30 23:57:08 +08:00
他做的实验项目想必也不需要在乎那么一点网络带宽吧…他到底纠结什么…
如果是做大项目,那么也肯定会遇到你说的硬伤,这时候他去考虑性能问题还差不多。
Hyperion
2012-07-31 00:13:31 +08:00
@Mutoo 注重点不一样而已吧? 追求高效能, 难道有什么不对吗?
Mutoo
2012-07-31 00:17:14 +08:00
@Hyperion 把握不好的话容易变成强迫症
waredugu
2012-07-31 00:18:44 +08:00
你男朋友?
Hyperion
2012-07-31 00:39:52 +08:00
@Mutoo 总比完全不在意强多了吧?... 其实我觉得重点不在这里.
noevil
2012-07-31 01:11:25 +08:00
“我觉得Node.js能做的事,PHP一样能做。”
不抬杠的讲,这话没什么错。

“那么我必须要讲,PHP的性能和无法接触底层绝对是硬伤。”
我的感觉是这句话说在这里毫不必须。
reus
2012-07-31 01:16:13 +08:00
跑题一下:php也可以用C/C++写扩展的,所以接触底层不是问题。甚至可以调用v8引擎来执行代码。性能方面牺牲某些特性可以使用hiphop。其实php这个语言仍然是有活力的 http://nikic.github.com/2012/07/10/What-PHP-5-5-might-look-like.html
fangzhzh
2012-07-31 02:02:05 +08:00
同跑题一下: 依稀记得leader对我说过最多到话: 要对业务抱着一颗敬畏到心。
ewangke
2012-07-31 02:02:43 +08:00
刚刚高中毕业,代码规范不重要吧?
多多培养兴趣,开阔视野。

等他以后读自己代码难受的时候,不得不与人协作的时候,需要维护别人代码的时候,自然就会重视起来了。
virushuo
2012-07-31 02:14:04 +08:00
这…我都不知道说什么了,写Javascript的和写PHP的谈底层和性能…
Livid
2012-07-31 03:10:11 +08:00
在写代码的时候,需要考虑将来如果别人在读自己的代码的时候会怎么想,会产生哪些困惑,是否可以很方便地搭建环境及调试。因此在各种地方留下提示,别人在将来会感谢你的。
kakaryan
2012-07-31 07:28:10 +08:00
你这朋友是没吃过亏的。若是自己玩,怎么写都没人关心;若是开源的话,不讲规范估计没人鸟你;若是工作,真的没人待见不讲规范的家伙。
一个coder的功力是体现在代码上的,一个经验丰富的和一个刚入门的用同样的技术实现同样的功能,写出来代码差别很大,经验丰富的会考虑一些可维护和可扩展方面的东西,经验少的很多代码都写“死”了,难于重用和维护,很快这些代码就需要重写了。
willwen
2012-07-31 08:33:29 +08:00
感谢各位的回答,以下是几个回答。
@noevil PHP的确可以做很多事,但这基本都会扯到PHP Extensions上去了,没意思。而且我那句话只是为了表达让他不要想着一种语言走天下。(他现在很抗拒在后端使用非PHP的东西)
@reus 同上
@ewangke 不能这么说,我还比他小三岁。其实我觉得我只能是给一些提示,是否能吸收就只能看他自己了,有时候让他尝试一下吃亏的滋味,会更有效果。
@virushuo 重点不是这个吧。。
@Livid 恩,我能做的,就只有给予一些帮助和提示,要做到思想上的转变,还需要自己的努力和探索。
@kakaryan 我自己在开发一些项目的时候,刚开始会选择更为敏捷的开发模式——高度耦合,但是代码的编写风格绝对是严格的。但是在一些自己觉得满意,并且希望给别人看的项目中,就应该有这样的意识,不要只做表面功夫,更应注重细节。(更何况这在商业项目的开发和团队协作中,这样已经不是“零星”的细节了)正如 @fangzhzh 同学所说,要对业务和项目保佑一颗敬畏的心。

感谢各位的回答,我也希望我那位朋友能够有所收获和成长。
88250
2012-07-31 09:14:44 +08:00
楼主的表达好像有点逻辑混乱,前半段有点针对人了哦。

总结不错,不过我觉得 NodeJS 能做的事 Java 一样能做 #_#|
towoo2001
2012-07-31 09:27:44 +08:00
<i>钱能解决的问题就不是问题,合理控制开发预算好了。</i>
towoo2001
2012-07-31 09:29:03 +08:00
@88250 同意
towoo2001
2012-07-31 09:29:46 +08:00
@我自己
ipconfiger
2012-07-31 09:33:11 +08:00
额,js的话一般都是发布的时候用工具压缩一下的吧,那个处理完了就不是拿给人看的了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/43903

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX