锁定老帖子 主题:看高手代码--从小case学大道理
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-08
lz总结的很不错啊,小case下我们可以理解出开发者的设计思路,重要的不就是学习高人的开发思路嘛,顶!
|
|
返回顶楼 | |
发表时间:2010-06-09
客户要求10秒做完的业务,满足需求即可。优化到5秒,谁给我钱啊?
|
|
返回顶楼 | |
发表时间:2010-06-09
ilove2009 写道 sw1982 写道 做业务和玩编程不是一个概念。如果你觉得计算几个hash也是性能浪费,真不如去汇编得了。
你可以尝试量化一下, 而且架构师通常会建议“先抗住再优化”,而《重构》这本书自身都建议,不到万不得已,不要优化代码的技巧! skydream 写道 sw1982 写道 ...lookup 一下hashmap真的那么低效吗? 建议复习下数据结构哦,你这些总结是没错,可是很表面
典型的没有写过高并发程序的思维方式,明明可以节约的地方,仅仅几行代码就可以优化,偏偏不做。 hashmap再快,也比case 一个 整型满上1w倍。 性能,是一点一点挤牙膏挤出来的,哪能到处浪费啊。 ![]() 如果不懂的时候,怎么简单来就怎么来。如果有机会理解了别人的思想,碰到类似的场景也可以用下,未尝不可。 最近来了一个做互联网开发的公司,是大门户网站,公司名字不便透露。感觉做互联网开发跟做普通的项目上差别很大,对性能的要求非常的高,尤其大数据量和并发量的情况。目前在做门户的优化,在所有方式尝试之后不行,就得深入一行一行改代码,像楼主这样的代码,非常提倡,也感谢分享。实在看不出来跟装X有什么关系。难道非得出了性能问题再去擦屁股? ps:经过对源代码的优化,性能提高了15% |
|
返回顶楼 | |
发表时间:2010-06-09
方法值得学习,但是在实际开发中应该用的不多吧
|
|
返回顶楼 | |
发表时间:2010-06-09
arthas777 写道 iaimstar 写道 arthas777 写道 我很支持楼主!!
我以前做过j2me开发,我非常理解楼主的心情! 顶你! 而且,我想对那些拿web不需要考虑细节性能的人说,你的web可能不支持高并发访问哦! 高并发和这个没啥主要关系好吧。 而且j2me和高并发更风马牛不相及。 j2me比较特殊,对各种资源 锱铢必较 是能理解的。 j2me,锱铢必较,一种精神!高并发,优化中再优化,也是一种精神! 自己写的程序,最后积累的成果,也是一种精神! 你可以拿中国大环境来宣扬你的理论! 我没有必要把问题上升来跟你计较什么! 但你没有资格剥夺其他程序员的精神! ~~~~~~~~~~~~~~~懂??? 另注:老美可以做出《使命召唤》,而中国永远也做不出来!因为像你这样的写程序的太多太多了! 在这种恶劣环境摧残下,你已经沦为奴隶! 再另注:如果不知道《使命召唤》是什么,也没关系,去搜搜它的开发历程和团队素养!你就知道自己有多可怜了! 哥们言辞太激烈了,没必要。 《使命召唤》中国人做不出来你的原因也太片面了。中国绝对不缺技术牛人,只说一方面原因:中国的游戏产业太急功近利,中国游戏动画产业发展时间短,还没有公司有这个实力,开发周期过长,小公司顶不住。 讨论规讨论。大家所处领域不同,开发方向也不同,所以适合自己的才是最好的。呵呵。 |
|
返回顶楼 | |
发表时间:2010-06-09
iaimstar 写道 skydream 写道 sw1982 写道 ...lookup 一下hashmap真的那么低效吗? 建议复习下数据结构哦,你这些总结是没错,可是很表面
典型的没有写过高并发程序的思维方式,明明可以节约的地方,仅仅几行代码就可以优化,偏偏不做。 hashmap再快,也比case 一个 整型满上1w倍。 性能,是一点一点挤牙膏挤出来的,哪能到处浪费啊。 ![]() 一个团队好多个人 指望所有人都挤牙膏,开玩笑 顶多就是核心代码慎重一些 整个项目再整体测试一下性能瓶颈,有针对性的调整就好了 每句代码都想写的句句珠玑,既不可能,也不现实。 在需求允许的范围内,尽量的提高开发效率,才能适时的交出合适的作业 建议去看看程序员修炼之道~~ |
|
返回顶楼 | |
发表时间:2010-06-09
hu437 写道 [
建议去看看程序员修炼之道~~ 你从哪里看出我没看过 人要学会自己思考,不要拿来就套 |
|
返回顶楼 | |
发表时间:2010-06-12
领导 不需要性能。所以他们都反对。
|
|
返回顶楼 | |
发表时间:2010-06-13
好贴,程序员都应该学习。
1、认为HashMap性能比switch高的同学建议学习下数据结构,所谓HashMap就是一个链表散列,一个连续的链表用于保存key,默认的情况下它的长度是16。HashMap对Key做Hash,根据取到的Hash码再找到对应的的key所在的散,再通过查找所在散列里对应Key从而找到Value。这种速度比得上4个case的switch? 2、以可读性作为借口的童鞋们的理由是站不住脚的,加了一个switch就看不懂了?即使是,过错也不在写程序的人,而是读程序的人,注释是写得清清楚楚...... 3、说写好代码不如加硬件的童鞋,你觉得自己比不上机器?加硬件那是无耐之举。比如你做了一个OA管理系统,你跟领导说你需要10台高性能的机器才能跑起来,领导会怎么看你?可别跟我说什么云计算。最后套用达文西的话,做人要有良知才行啊,写程序也一样,要对得起自己良心。 |
|
返回顶楼 | |
发表时间:2010-06-13
pengzhoushuo 写道 好贴,程序员都应该学习。
1、认为HashMap性能比switch高的同学建议学习下数据结构,所谓HashMap就是一个链表散列,一个连续的链表用于保存key,默认的情况下它的长度是16。HashMap对Key做Hash,根据取到的Hash码再找到对应的的key所在的散,再通过查找所在散列里对应Key从而找到Value。这种速度比得上4个case的switch? 2、以可读性作为借口的童鞋们的理由是站不住脚的,加了一个switch就看不懂了?即使是,过错也不在写程序的人,而是读程序的人,注释是写得清清楚楚...... 3、说写好代码不如加硬件的童鞋,你觉得自己比不上机器?加硬件那是无耐之举。比如你做了一个OA管理系统,你跟领导说你需要10台高性能的机器才能跑起来,领导会怎么看你?可别跟我说什么云计算。最后套用达文西的话,做人要有良知才行啊,写程序也一样,要对得起自己良心。 天地良心. 把代码写好懂点才更对的点别人 少作孽写一堆别人看不懂的代码 |
|
返回顶楼 | |