文章分类 - 百家争鸣
各种观点、意见、思想的大熔炉!
摘要:[原文链接]又一次情绪激动、气氛高度紧张的会议,这一次是商议如何让目前这个重要项目“重回正轨”——计划的完工日期早已超了几个星期。所有的这些场景听起来都很耳熟吗?我想说的是,项目超期在任何行业里都是常见的事情。然而,软件行业里看起来更容易出现这种情况。我们怎么会走到这种地步的?这还要从我们梦开始的地方说起。所有的开始都是精神抖擞、干劲十足。一个漂亮的创意,这次我们发誓绝不会重蹈上次的覆辙,不会犯上次的错误。这次我们告诉自己,这次的计划将会“正确”的执行,不会图省事,也不会中途变更。经常有时候我们会感觉梦想正朝正确的方向前进,设计很成功,每个人都很乐观,外界评论也很好。然后,噩梦开始降临,因为各
阅读全文
摘要:[原文链接]ACME公司的Widgets系统出了点问题。这个系统被他们用来管理器材的库存,当初设计时没考虑到如今这样大量的数据的增长。他们的员工因为这个问题备受折磨。很显然,需要想办法解决这个问题,让系统恢复正常。经过对本地软件公司的一番筛选,ACME联系到了Hamster软件公司,看看他们能否解决这个库存系统中的问题。他们很喜欢Hamster软件公司的网站,他们没有任何软件开发的经验,但根据网站的外观,他们估计这个软件公司能解决他们的问题。这件事上他们并没有做错,但也不是很对。于是,ACME公司和Hamster软件公司开始讨论如何解决他们库存系统中的问题。私底下,Hamster软件公司的开发
阅读全文
摘要:[原文链接]这个问题是我最常碰到的一个,也是我最难回答的一个。对这种问题最好的回答方式是用全职员工来推算天数。这非常容易,你只需要找出有多少个不重叠的功能特征,然后每个人负责一个。一旦各个功能块被分成了不能再分的任务,你计算需要多少人天,这就是你的答案。你无论如何都不可能用比这更少的时间开发完这个项目。“一个女人生一个孩子要10个月,不论你再增加多少个女人来做这事,都不会缩短这个时间”“只有当一个任务的完成可以分配多人,并且不需要他们之间相互交流合作的情况下能完成时,人和月才能互相替换。”“往一个已经延迟的项目里添加程序员只会使项目进一步延迟”(因为项目中现有的人需要培训新来的人)-《人月神话
阅读全文
摘要:[原文链接]一种态度认为,应该对程序员在软件开发中的行为进行约束(DirectingAttitude)。持这种态度的人认为大部分的程序员水平都不高(谣传说有50%的人低于平均水平),所以应该对他们所做的事情进行管教约束。要防止他们做一些可能会给他们正在开发的系统带来危害的事情。通常,这种态度体现在一些系统设计和工具中时,你会发现它们会试图阻止程序员去做某些事情,限制程序员的一些做法,以此避免他们陷入过于复杂的境况。另一种态度认为程序员都是可以信赖的专业人员,应该给他们做自己任何想做的事情的自由。秉持这种态度的软件设计以好用易用为目标,但前提假设是程序员必须知道自己在做什么。所以,遵循这种态度的
阅读全文
摘要:[原文链接]长期从事编程活动的程序员都期望在50多岁时能爬到一个足够高的职位,或者能顺利的退休。但我在这里讨论的可能是一个你还没有想过的问题:如果到那时你失业了呢?50多岁时你的职业仕途会成为一个问题。如果你有很好的技术,有人雇你,你会有一个很高的职衔,或你是一个专家,或有很好的人际关系,你都有可能找到一个新的职务。否则,你会从衣食无忧沦落为无家可归。这是真的。我55岁,我的简历会让你感觉非常优秀,10年前我能挣到多达100万美元。现在我是一个流浪汉。我身体不是很好,没有医险,没有牙医。能找到的工作只是一些基本不需要技术的体力劳动,我也干不了。我在试着做家教。然而,这点钱基本上不够付燃气费的。
阅读全文
摘要:[原文链接]重构代码很危险,它会给测试工作增加巨大的负担。除非你的程序需要重构,一定不要轻易重构代码。我这里所说的并不是把一个for循环改成while循环,或把一个StringBuffer改成StringBuilder,我说的是大动作,例如重写一个方法,一个函数,甚至整个类或包。如果你缺乏对一个方法...
阅读全文
摘要:[原文链接]1.- 所有的程序都写的很烂,除了我的。我要告诉你一个坏消息,兄弟,所有的程序都写的很烂,包括你的。无论你在上面花多少功夫,其他大多数程序员总是会认为你写的代码很烂、他们能写出比你好10倍的程序。我在前几篇文章里已经讨论过了这个问题,你可以读读这篇文章和这篇文章,从中你可以理解我所说的所有的程序都写的很烂究竟是什么意思。如何纠正:不要挑剔别人的程序,有一天也许你的程序会被人放在聚光灯下挑剔。要保持客观和专业的评论,不要轻易判断。要谦虚,从周围人哪里学习经验,警戒自己不要写出这么糟的程序。2.- 我几秒钟就能把它改好,不用走变更流程了。homer-simpson-doh抄捷径充满诱惑
阅读全文
摘要:[原文链接]我最近想明白了一些事情。最好的写程序的地方不是在你的计算机前,不是使用你的编译器、IDE或其它一些工具。这最好的地方是一个远离这些工具的场所 —— 是某个能让你认真的思考的地方。对于一个你很熟悉的编程语言,你很容易把你脑子里已经构思好的程序转换成编译器/解释器可以编译/解释的程序 —— 难就难在如何在脑子里先把程序编好。有一天我乘火车旅行。我带了笔记本,但没有网络。不幸的是,我使用的是一种商业编程语言(IDL,真不巧),这种语言需要使用我大学网站上的许可证。因为不能连上互联网,我拿不到许可证,于是我的编译器和IDE就跑不起来。你可能会喜欢使用一个需要昂贵的许可证的商业编程语言,但它
阅读全文
摘要:[原文链接]干了将近7年的软件开发,我开发实现了很多有趣的东西。最近,我开始投身销售,研究营销技术——为了我的新应用。我感到发现客户并理解他们的消费行为是一件非常有挑战性的事情,同时也有很多的乐趣。程序员对销售的典型态度要么认为它不重要——这是最好的情况,最坏的情况是根本不知道何为销售。在这里我要讲的是非常不同的另一面,希望能带来一些能让大家兴奋的建议。如果你喜欢这些建议,我将会再写一篇。下面的这些忠告都是来自我经营一个B2B服务软件的经验。也许并不是每个人都能接受,但至少从趣味性和知识性方面还是值得一读的。销售很重要。现在就拥抱它,从长期看,掌握它会带给你好处多多,你会理解销售有多难。如果你
阅读全文
摘要:关键词:IDE单片机集成开发环境嵌入式系统专题1目的嵌入式Linux上的开发上一个函待解决的问题,就是开发工具的匮乏和开发过程的混乱。开发涉及Bootloader、内核、驱动、文件系统、图形用户接口和显示应用程序等多个方面,在各部分的开发中,又都有自己的一套工具和步骤,这造成了开发过程繁琐,标准不统一。同时,开发工具都运行在Linux文本环境下,这对用惯了Windows上视窗环境的开发者来说,上手比较缓慢。因此我认为需要开发出一套针对显示器软件系统的集成开发环境。目前命名为LinuxPlatformBuilder(LPB).该软件将包括目前嵌入式linux开发过程的所有方面:软件自动检测目前已
阅读全文
摘要:[原文链接]*第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架;*第二阶段:java界面编程,包括AWT,事件机制,SWING,这个部分也可以跳过,用的时候再看都能来及;*第三阶段:java API:输入输出,多线程,网络编程,反射注解等,java的精华部分;*第四阶段:数据库SQL基础,包括增删改查操作以及多表查询;*第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;*第六阶段:JDBC深入理解高级特性:包括数据库连接池,存储过程,触发器,C
阅读全文
摘要:[原文链接] 为什么同样的时间有的人可以漂亮的完成工作,而有些人废了很大的力气也没有完成? 前者我们常常称之为“大牛”,后者我们常常叫他们“菜鸟”。当然“大牛”都是相对而言的,“大牛”也不可能方方面面都非常厉害,换句话说大牛也不一定会沙王摇大,也不一定会船长放水。所谓的“大牛”他们只是在某些方面比我们强而已。但是值得注意的是,学习能力很强,效率普遍很高是一般“大牛”的共同特点。是哪些因素造成了我们与“大牛”的差距呢? 背后的故事我们不一定知道。 有这么两句话想必大家都应该听过“要想人前显贵,必定人后受罪”,还有一句就是“台上一分钟,台下十年功”。在这里想借助这两句话说得就是,不要只...
阅读全文
摘要:[转自:此处]1.Do you have a family? 你有孩子吗?2.It'sa good father that knows his son. 就算是最好的父亲,也未必了解自己的儿子.3.Ihave no opinion of that sort of man. 我对这类人很反感.4.Sheput 5 dollars into my hand,"you have been a great man today." 她把5美圆塞到我手上说:"你今天表现得很好."5.Iwas the youngest son, and the younges
阅读全文
摘要:[非原创,看到有参考价值,所以果断转来:原文链接]第一阶段(Linux C开发)目标:能使用并管理linux系统,熟悉linux开发环境。熟练掌握C语言语法。掌握Linux下C开发方法。主题内容Linux最佳入门Linux基本操作、Linux基本命令、bash基础、Linux文件系统、Linux管理命令、Linux文件权限、vi使用、grep命令与正则表达式、find命令等。Shell编程Shell编程基础、输入输出、算术扩展、条件测试、条件与分支语句、循环语句、函数、sed、awk、Shell俄罗斯方块Linux开发工具gcc、make、gdbLinux C语言开发数据类型、控制语句、自定义
阅读全文
摘要:[转自:此处]0.引言软件开发之路是充满荆棘与挑战之路,也是充满希望之路。Java学习也是如此,没有捷径可走。梦想像《天龙八部》中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的。每天仰天大叫"天神啊,请赐给我一本葵花宝典吧",殊不知即使你获得了葵花宝典,除了受自宫其身之苦外,你也不一定成得了"东方不败",倒是成"西方失败"的几率高一点。"不走弯路,就是捷径",佛经说的不无道理。1.如何学习程序设计?Java是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于Java,对C++等其他程序设计语言
阅读全文
摘要:[转自:此处]阅读是自我提升的一个有效方法,阅读书籍、阅读博客都是我们技术提升的重要手段之一。但是阅读的质量,阅读的方法很大程度上限制了我们的知识获取的深度与广度,如何高效的阅读就成了一个重要的话题。 当你打算看一本书的时候,要确定它是不是你所需要的这点不用说,特别是技术类的书籍,很多都大同小异。因此,我觉得同一类的书籍,在于精而不在于多。很多书外包装精美,价格也不菲,但是买回来一细 看,发现要么漏洞百出,要么是说的比较宽泛,缺少自己的特色,而且现在还有百度,谷歌这种东西,所以很多书籍可以只要买一两本就好。那要怎么样挑选自己喜 欢的书籍呢?我的做法是:先去知乎,豆瓣,亚马逊,当当上看大家对某些
阅读全文
摘要:[非原创,原文链接]导读:本文将通过对目前流行的SOA面向服务架构技术的研究,结合数字化校园建设的特点,提出一种基于SOA架构的数字化校园整体设计方案和具体实施过程。关键词:SOA面向服务架构数字化校园 高校信息化建设从上个世纪90年代就已经开始了,伴随着计算技术和网络技术的高速发展,高校信息化建设取得了显著成果,计算机和网络技术已经在高校各类活动中发挥着重要作用。以“挖掘先进的管理理念,应用先进的计算机网络技术把高校现有的教学、科研、管理、生活、服务等有关的资源进行整合和集成,实现统一的用户管理、资源管理和权限控制,实现资源的有效配置和充分利用,实现校务管理和后勤服务过程的优化、协调,创造.
阅读全文
摘要:[非原创,原文链接]导读:最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。由于异常处理是一个非常重要的处理错误情况的概念,完全的避免不是一种好的办法。本文中我们将近距离的观察一下异常的成本代价。关键词:异常处理堆栈跟踪代码异常处理 最近在dynaTrace上出现了一场关于异常(Exception)的代价的大讨论。在跟一些客户的接触中,我们经常的发现他们的代码里有大量的异常处理,自己都不知道。在移除了这些异常后,程序的运行速度比以前有大幅度的提高。这让我们产生了一种假想,程序中的异常处理语句是否给性能带来了巨大的开销?由此得出的推理会是,应该避免使用异常处理。.
阅读全文
摘要:360的出台,直接把杀毒变成免费的,淘汰了金山毒霸;淘宝电子商务2012年一万亿的销量,逼得“苏宁、国美”这些传统零售巨头不得不转型,逼得“李宁服装”关掉了全国1800多家专卖店,连天上发了卫星的“沃尔玛”都难以招架,如果马云“菜鸟”行动成功的话,24小时内全国到货的梦想实现,那么这些零售巨头的命运又将会是如何?马云“余额宝”的出台,18天狂收57个亿资金存款,开始强夺银行的饭碗;三马(马云、马化腾、马明哲)的网上保险公司的启动,预计未来五年将会有200万保险人员失业,其他保险公司将何去何从?腾讯微信的出台,6个亿的用户还在增加,直接打劫了中国移动、电信和联通的饭碗。国内一位很著名的成功学大师
阅读全文
摘要:计算机专业毕业后大致的工作方向是软、硬、网、图 四大类1.计算机可视化编程掌握计算机程序设计方法及可视化技术,精通一种计算机可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。2.计算机WEB应用程序设计具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。3.计算机软件测试掌握计算机软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。4.计算机数据库管
阅读全文

浙公网安备 33010602011771号