有人说现在做程序开发对于人的素质要求越来越高了,也有人说,现在的教育越来越差了。个人不就此发表评论。
打开个人消息,看到了一个提问,提问的链接地址在
http://www.iteye.com/problems/222
是关于
数据库字段排序的问题,看了下面的回答,各抒己见,竟然没有一个是涉及到实质问题的。
其实问题的答案很简单,
双向链表,相信大家都学过,这是计算机课程中必修课程。我很奇怪于为什么大家对于算法这东西基本上从来不曾想过。而大多数人在看数据算法时对于算法的时间复杂度以及空间复杂度都只是当做一个讨厌的要记忆的东西,大部分的程序员不会主动的去想算法,尤其是Java,C#这类的高级语言已经实现了一些大多数的算法,Collection里面对于排序什么都已经有了实现,所以不需要去,而且由于硬件的增长,不会再去计较多了几十个字节,运算时间需要多几秒,只是会在类似于问题中的情况才会需要去考虑,究其原因,还是因为要取数据库的连接,所以会很消耗大量的资源。
其实于一个初级程序员和一个高级程序员的区别就在于此,高级程序员会选用最合适的方法来实现,解决问题,而初级程序员总是忙于解决问题,首先解决问题是最重要的,至于方法,先不管那么多。
我经常在维护一个项目时,或者在查找BUG时,发现有人写的代码让我痛不欲生,冗长的代码,健壮性不够等等。
思考,思考,再实现,往往比边写边思考效果会更好!
所以,给新人的建议是多思考,多阅读他人的代码(现在开源的优秀代码很多)。
分享到:
- 2008-06-16 09:09
- 浏览 1021
- 评论(2)
- 论坛回复 / 浏览 (2 / 1713)
- 查看更多
相关推荐
#Animal-Quiz#我的RubyQuiz挑战解决方案Jim Weirich提出的Animal Quiz该程序是一个动物测验程序... 一只兔子给我一个问题,以区分兔子和大象。 是小动物吗? 对于兔子,您的问题的答案是什么? (是或否) ÿ 谢谢。
YAGM(又一个伟大的动力) 一个工具,让我想起我在 Hacker News 上收到的关于我的生产力问题的所有很棒的反馈基于我的文章一篇文章如何成为存储库? 我对我在 Hacker News 上的文章的评论真的很震惊。 我不仅觉得我...
可以设想长条横着和竖着的情况,一个块可以由4*4的二维数组组成。其中由0表示空白,1表示有块。另外网上还有“88行俄罗斯方块”的大牛写的示例,是又把这个二进制数组转换成了一个相应的整数,空间效率很高。
在编写一段并不复杂的脚本的时候,发现了一个问题。先说说代码,它的主要功能是用 PHP 判断是否生成一段 Javascript,并使用 Cookie 记录状态。
生产线将一个产品做错了,那叫生产问题……而现在,所有这些问题公司都叫品质问题,老板一听是品质问题,就来骂质管部。” 品质问题,总结起来就是四个字:管理混乱 1. 客户水平提高了,我们却没有变; 2. 集团军...
想起先前看到的一个知识点:tomcat 6 实现了 servlet 2.5 和JSP2.1的规范相应的 tomcat 5 实现的是 2.4和2.0,想到tomcat5不支持JSTL1.2,于是替换JSTL1.1的包试试看后,问题解决 解决方法:移出工程lib目录中的...
会造成不连贯的观赏效果,特别是开启窗口过多时,甚至需要操作人员一个一个地仔细查找,为了让演示汇报更加流畅,本软件的作者八两,想到了一个利用系统热键来快速切换演示窗口的办法,并将其编写为可执行软件,方便...
在去年的YOW Melbourne开发者大会上,...但是,这让我想到一个问题,最少可以用多少代码写成一个可用的单元测试框架? 一个最小可用的单元测试 刚开始写一个单元测试框架的时候代码是很少的,但当我想给它加入一些特性
如有任何疑问,请发送电子邮件安装Android Studio 要安装Android Studio,请参阅Android官方文档说明: : pkg studio步骤1 开始一个新的Android项目 给它一个名称和一个域(域是发布应用程序时PlayStore使用的唯一...
于是想到设计一个简单方法, 在每次查找之后对树进行重构,把被查找的条目搬移到离树根近一些的地方。伸展树应运而生。伸展树是一种自调整形式的二叉查找树,它会沿着从某个节点到树根之间的路径,通过一系列的旋转...
一个由HomeKit驱动的简单机器人,可以控制我们的颗粒炉。 什么是calcifer-bot? 我们为房屋供暖的方法之一是使用真正漂亮的意大利制造的颗粒炉。 我们喜欢这个炉子:它很好地加热了房屋,并给我们带来了小小的火焰...
面对这么多的客户,有一个问题很突出地摆在面前:每个客户都会有些特殊的需求,这些需求不改动系统是无法满足的;如果改动系统,由谁来做?怎么做?版本怎样维护?要多少个版本才能够用?一个版本升级了,是否其它...
由最长公共子序列问题的最优子结构性质可知,要找出X=, x2, …, xm>和Y=, y2, …, yn>的最长公共子序列,可按以下方式递归地进行:当xm=yn时,找出Xm-1和Yn-1的最长公共子序列,然后在其尾部加上xm(=yn)即可得X和Y的...
说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由4个方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。从面试者的角度来讲,一个测试也许能从多方面...
书中的步骤遵循由小到大、由浅入深的顺序,跟随这些步骤,读者可以由一个最简单的引导扇区开始,逐渐完善代码,扩充功能,最后形成一个小的操作系统。 本书不仅介绍操作系统的各要素,同时涉及开发操作系统需要的...
书中的步骤遵循由小到大、由浅入深的顺序,跟随这些步骤,读者可以由一个最简单的引导扇区开始,逐渐完善代码,扩充功能,最后形成一个小的操作系统。 本书不仅介绍操作系统的各要素,同时涉及开发操作系统需要的...
说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由4个方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。从面试者的角度来讲,一个测试也许能从多方面...
以前在用MVC + EF 的项目中,都是一个数据库,一个DbContext,因此一直没有考虑过在MVC+EF的环境下对于多个数据库的操作问题。等到要使用时,才发现这个问题也不小(关键是有个坑)。直接说这个问题的解决流程吧: ...
ATTO Disk Benchmark是由ATTO公司出品的一款磁盘/网络性能测试工具,该软件使用了4MB的测试包,数据包按0.5K、1.0K、2.0K直到到1024KB进行分别读写测试,测试完成后数据用柱状图的形式表达出来。很好的说明了文件...
我只是一个农民,正巧写一些简陋的生活代码。 此项目需要Python 3.6或更高版本。 没有白板 不进行“白板”采访的公司(或团队)列表。 讨论现实世界的问题(有或没有白板)是 :thumbs_up: 解决CS琐事,技术难题...