﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-没话说了-随笔分类-我的工作</title><link>http://www.blogjava.net/howard/category/2070.html</link><description>所学甚浅，所知甚少</description><language>zh-cn</language><lastBuildDate>Wed, 17 Apr 2013 14:04:40 GMT</lastBuildDate><pubDate>Wed, 17 Apr 2013 14:04:40 GMT</pubDate><ttl>60</ttl><item><title>Web项目中需要注意的地方</title><link>http://www.blogjava.net/howard/archive/2006/03/22/36778.html</link><dc:creator>howard</dc:creator><author>howard</author><pubDate>Wed, 22 Mar 2006 01:50:00 GMT</pubDate><guid>http://www.blogjava.net/howard/archive/2006/03/22/36778.html</guid><wfw:comment>http://www.blogjava.net/howard/comments/36778.html</wfw:comment><comments>http://www.blogjava.net/howard/archive/2006/03/22/36778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/howard/comments/commentRss/36778.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/howard/services/trackbacks/36778.html</trackback:ping><description><![CDATA[现在开发J2EE越来越有一种感觉，就是开发效率很低，进展缓慢，依赖度很高（指开发人员之间，可能也和交流不够有关）。而在我的印象中，j2ee开发本来就不是应该属于这样一种开发的。我在开发中，感觉以下的一些方面是造成这种现象的原因，分别是，技术上：界面，框架，测试等；非技术上：需求，部署，规范，变更等。下面说说我的想法。<br />第一，技术上<br />1，界面<br />  需要怎么样的界面？这实际和需求有很大的关系。暂且抛弃它与需求的关系，只讲其本身的开发。在MVC开发过程中，通常使用标签库与html构造界面，这种开发是没有什么大问题的，可是现在，ajax来了，该死的js也就来了。而且每个人（团队，包括我）都对一些开源的ajax框架不了解也没有时间了解，这样一来，就只能自己写一些简单封装代码，应用代码来满足界面的要求。当工作开展了一段时间以后，大量的js也就没有办法很好的维护，先期设计不好所带来的不能重复使用也显而易见了，最重要的事，往往一个项目的进度都是很紧的，在进度的面前，花精力来修改这些js又是不可能的事情，最后的结果是付出很多劳动，却得不到应有的回报。<br />2，框架<br />不要乱用框架，不要不用框架。我是这么觉得的。团队在开发的任何一个方面，都应该使用该领域的一个成熟框架。实际上，虽然现在有N多的开源框架，可是一个项目真正要用到的又有几个呢？struts好像谁都在用了，hibernate用的人也很多，这些框架可以让开发变得简单而且不易出错。<br />3，测试<br />至今从没见过好的测试。暂且不去谈测试的粒度这种问题了，因为我所见的测试几乎都是手工测试，而且就算要求测试也是不重视的，好像测试只是为了现在的正确。<br /><br />第二，非技术上<br />1，需求<br />这个问题好像有点弱智，没有需求能够做什么？谁都知道的道理，可是偏偏在开发的时候就会出现连需求都没有（或者没确定）却已经开始开发的情况。这时的需求就是想当然，你想这样，他想那样，到头来都错了，都要改。时间浪费了很多，却做了一批无用的东西。这是最最失败的。<br />2，部署<br />问：“项目开始了，要写构建脚本么？”答：“不用。”呵呵，并不是教条到一定要在项目开始时就启动构建脚本。我只是想说它的重要性，它应该在项目开始时，或者一小段时间过后就有。它不仅可以让你随时部署你的应用，而且甚至我觉得还有一点规范结构的作用。经历过没有脚本，最后4－5个人发布时忙的只知道拷贝了（实际上再最后最乱的时候写还是可以避免一下最后部署的混乱的，可是那么关键的时候，几乎没人想到写那东西，自己的bug都来不及呢，还管它？）<br />3，规范<br />没规范不好做事情，每个人都可以定规范更不好做事情。每个人都有自己的主张，或这或那，写一些规范（也算内部协议吧）的时候自以为就再设计了，其实我很反感，没有一个老大（也许有一个，但不是真正的，因为他不控制），这项目就难做了，别说大的规范了，就连一个函数成功执行的返回值都可以让你郁闷半个小时。当然了，做单元测试也就想也别想了。<br />4，变更<br />总是会有变更，不可以避免，当然也就不会对它说三道四。只是我希望把变更要当作是现在的工作，而不是从前的工作。如果一个程序员做好了一个用例，而现在这个用例的需求变了，那么就不应该认为该程序员没有完成他的工作。只是希望有一个公平一点的评价。<br /><br />哎～～，火气大的<br /><img src ="http://www.blogjava.net/howard/aggbug/36778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/howard/" target="_blank">howard</a> 2006-03-22 09:50 <a href="http://www.blogjava.net/howard/archive/2006/03/22/36778.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库1</title><link>http://www.blogjava.net/howard/archive/2005/07/08/7378.html</link><dc:creator>howard</dc:creator><author>howard</author><pubDate>Fri, 08 Jul 2005 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/howard/archive/2005/07/08/7378.html</guid><wfw:comment>http://www.blogjava.net/howard/comments/7378.html</wfw:comment><comments>http://www.blogjava.net/howard/archive/2005/07/08/7378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/howard/comments/commentRss/7378.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/howard/services/trackbacks/7378.html</trackback:ping><description><![CDATA[1，oracle，一句SQL<BR>&nbsp;&nbsp;&nbsp; 有2张表，一张权限信息表MODULE，员工权限表AUTHORITY。界面有2个ListBox A，B，要求B中列出某一个员工的权限，A中列出该员工没有的权限。如果将B中的权限取出，并拼一句SQL运行的结果给A，拼得SQL条件个数比较多，简单点可以这样写A对应的SQL：<BR>select&nbsp; MODULE.rowid,&nbsp; MODULE.*&nbsp; from&nbsp; MODULE, AUTHORITY <BR>where AUTHORITY.WORKERNO(+) = '员工号'&nbsp; <BR>and&nbsp; MODULE.SUBSYSID =&nbsp;&nbsp;AUTHORITY.SUBSYSID(+)<BR>and&nbsp; MODULE.MODULEID = AUTHORITY.MODULEID(+)<BR>and&nbsp; AUTHORITY.WORKERNO is null<BR>如果权限中所有父权限（上层权限）在A中总归显示（不考虑B中是否包含），可以再加一句<BR>and&nbsp; AUTHORITY.MODULEID(+)&nbsp; !=&nbsp; '父权限标识（具体的值，再MODULE中区分权限父子关系）'<BR><img src ="http://www.blogjava.net/howard/aggbug/7378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/howard/" target="_blank">howard</a> 2005-07-08 17:08 <a href="http://www.blogjava.net/howard/archive/2005/07/08/7378.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>