2008-06-16
由一个问题想到的
有人说现在做程序开发对于人的素质要求越来越高了,也有人说,现在的教育越来越差了。个人不就此发表评论。
打开个人消息,看到了一个提问,提问的链接地址在
http://www.javaeye.com/problems/222
是关于数据库字段排序的问题,看了下面的回答,各抒己见,竟然没有一个是涉及到实质问题的。
其实问题的答案很简单,双向链表,相信大家都学过,这是计算机课程中必修课程。我很奇怪于为什么大家对于算法这东西基本上从来不曾想过。而大多数人在看数据算法时对于算法的时间复杂度以及空间复杂度都只是当做一个讨厌的要记忆的东西,大部分的程序员不会主动的去想算法,尤其是Java,C#这类的高级语言已经实现了一些大多数的算法,Collection里面对于排序什么都已经有了实现,所以不需要去,而且由于硬件的增长,不会再去计较多了几十个字节,运算时间需要多几秒,只是会在类似于问题中的情况才会需要去考虑,究其原因,还是因为要取数据库的连接,所以会很消耗大量的资源。
其实于一个初级程序员和一个高级程序员的区别就在于此,高级程序员会选用最合适的方法来实现,解决问题,而初级程序员总是忙于解决问题,首先解决问题是最重要的,至于方法,先不管那么多。
我经常在维护一个项目时,或者在查找BUG时,发现有人写的代码让我痛不欲生,冗长的代码,健壮性不够等等。
思考,思考,再实现,往往比边写边思考效果会更好!
所以,给新人的建议是多思考,多阅读他人的代码(现在开源的优秀代码很多)。
打开个人消息,看到了一个提问,提问的链接地址在
http://www.javaeye.com/problems/222
是关于数据库字段排序的问题,看了下面的回答,各抒己见,竟然没有一个是涉及到实质问题的。
其实问题的答案很简单,双向链表,相信大家都学过,这是计算机课程中必修课程。我很奇怪于为什么大家对于算法这东西基本上从来不曾想过。而大多数人在看数据算法时对于算法的时间复杂度以及空间复杂度都只是当做一个讨厌的要记忆的东西,大部分的程序员不会主动的去想算法,尤其是Java,C#这类的高级语言已经实现了一些大多数的算法,Collection里面对于排序什么都已经有了实现,所以不需要去,而且由于硬件的增长,不会再去计较多了几十个字节,运算时间需要多几秒,只是会在类似于问题中的情况才会需要去考虑,究其原因,还是因为要取数据库的连接,所以会很消耗大量的资源。
其实于一个初级程序员和一个高级程序员的区别就在于此,高级程序员会选用最合适的方法来实现,解决问题,而初级程序员总是忙于解决问题,首先解决问题是最重要的,至于方法,先不管那么多。
我经常在维护一个项目时,或者在查找BUG时,发现有人写的代码让我痛不欲生,冗长的代码,健壮性不够等等。
思考,思考,再实现,往往比边写边思考效果会更好!
所以,给新人的建议是多思考,多阅读他人的代码(现在开源的优秀代码很多)。
评论
Zmud
2008-06-20
学习大师经典代码没错,不过也不要对别人的问题就不屑一顾。
关于WEB下的排序、树结构的组织在这个坛子里面讨论过多次了,反正我没看到理想的答案。
数据结构是程序员的必读科目,但也要清楚明白数据结构经典算法的应用场合。双向链表在构造class或者structure时候很好用,但在这个问题上是否适用呢?稍微深入想一下即可有答案了。
双向链表无非加两个首尾连接ID标识,排序的问题解决了,可如何保证select返回的数据是经过排序的呢?难道全读到内存里面排一遍?那可是10万条。
即便是先读出第一条,然后依据链表读取后续的,如果碰到搜索过滤了以后的记录怎么办?这种情况下链表根本是不连续的,链不起来的。
平常心,平常心。
关于WEB下的排序、树结构的组织在这个坛子里面讨论过多次了,反正我没看到理想的答案。
数据结构是程序员的必读科目,但也要清楚明白数据结构经典算法的应用场合。双向链表在构造class或者structure时候很好用,但在这个问题上是否适用呢?稍微深入想一下即可有答案了。
双向链表无非加两个首尾连接ID标识,排序的问题解决了,可如何保证select返回的数据是经过排序的呢?难道全读到内存里面排一遍?那可是10万条。
即便是先读出第一条,然后依据链表读取后续的,如果碰到搜索过滤了以后的记录怎么办?这种情况下链表根本是不连续的,链不起来的。
平常心,平常心。
elice
2008-06-20
个人素质+公司氛围很重要
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 69325 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
一天一夜,终于把页面布局 ...
美工一向是我的弱项哈。
-- by xiaopao -
市场至上,还是我们应当坚 ...
jimmy.shine 写道 A-->B-->C-->A 原因在这里
-- by cyberblue -
市场至上,还是我们应当坚 ...
市场和原则,有矛盾的时候,还是坚持原则吧
-- by hyhongyong -
市场至上,还是我们应当坚 ...
这事不怪楼主,怪技术总监和项目经理的沟通不够,双方都无法总结出一套Pattern ...
-- by cyberblue -
市场至上,还是我们应当坚 ...
市场是老大,这是毫无疑问的,但是请仔细思考自己到底是处于哪个市场里。明明在劳动力 ...
-- by tj19832






评论排行榜