原文: http://blog.csdn.net/csfreebird/article/details/7561189

这篇文章介绍的经验心得不错,故转载之。

三年前,我写了 JavaWeb项目管理得失谈,文章地址:http://blog.csdn.net/sheismylife/article/details/4154325

这三年,自己经历了SOHO,北京互联网公司和现在的ESRI研发中心,技术能力又有了很大的提升,管理上也历练了不少。

重新阅读我过去的文章,又有了新的认识。

过去那篇文章总结了项目结果不如预期的几个主要原因:只挑选其中几个再说明。

1)程序员技术能力弱
问题出在公司层面,小的外包公司招不到优秀的程序员。如果人不行,无论多强的技术领导和流程都没用。

现在我招聘首要看人的智商,如果不聪明,坚决不会要。有那功夫为了一点技术细节解释半天还弄不明白,我不如自己做了。

招聘,说白了就是花钱雇佣聪明的脑袋。所以没有经济实力的小公司,我再也不会去那里带队伍了。自虐啊!

 

2)对JSF技术不熟悉

3)JSF框架有Bug,并且可用tag较少,不足以应付项目,还需要额外开发自定义tag

JSF1.x版本升级到JSF2.x后,我又深入运用了PrimeFaces。现在已经彻底废弃JSF,这是一个不中用的东西。为什么所有页面上的html标记,css和JavaScript都要通过后端的JSF对象来渲染,如今的web页面设计如此的复杂,这种工作根本就不应该用Java语言来表达。即便是PrimeFaces,也不过就是将很多javascript库包装一下,好了,你这么一封装,我要定制一下都要费老大力气,而且很多人都搞不定一些莫名其妙的bug.

如果你做web开发,无论是Java,C#,C++,PHP或者其他,掌握JavaScript和CSS都是必要的,通过JSF渲染只会把事情搞复杂,增加成本。而且运行起来慢的像老牛,Google也吃过这个亏,然后废弃不用了。

后端只要能够基本的渲染初始页面,就行了,别管不该自己管的事情。其他的后端应该提供REST API来处理Ajax请求。我现在用C++和Java做后端渲染,都感觉很好。因为页面上的事情,我切换到更合适的语言JavaScript和CSS上去了。

JSF还是比较适合日本人的企业级开发,那种应用是如果你用了彩色他都跟你急,都是最原始的html标记。外包公司比较合适。肯定不适合互联网企业。

 

6)管理人员对代码审查把关较弱

现在自己的眼界开阔多了。通过Scrum管理任务和进度,通过Review board管理代码评审,通过持续集成实现尽早集成和冒烟测试。通过自动测试来实现压力测试。产品的质量是通过严密的过程控制来保证的。有了过程控制,人就可以尽情的发挥自己的创造力。

不过这种玩法也只能在好公司来做,构建过程控制系统是需要成本的,而且要持续的演化,同时必须有很熟悉各种开源产品,能够将系统架构起来的高手。很多挣扎在温饱线上的公司难以做到这点。

【转】三年后再反思我的" Java Web项目管理得失谈"的更多相关文章

  1. java web Cookie浅谈

    1.会话控制 > Http协议 Http协议两个缺陷: 1.HTTP协议是纯文本的 2.HTTP协议是无状态的 服务器不能简单的通过HTTP协议来区分多次请求是否发自同一个用户 虽然通过HTTP ...

  2. Java EE 学习(2):使用 IDEA 开发 最简java web

    参考:http://www.cnblogs.com/carsonzhu/p/5468223.html 使用IntelliJ IDEA开发java web 前言:由于本人以前简略的学习过 java 语言 ...

  3. Java Web项目实战第1篇之环境搭建

    写在前面的话 从今天开始一个Java Web实战项目,参考自 http://blog.csdn.net/eson_15/article/details/51277324 这个博客(非常感谢博主的分享精 ...

  4. 使用Intellij idea新建Java Web项目(servlet) 原理及初步使用

    准备 JDK       (配置JDK_HOME\bin   和 CLASSPATH)   注:JDK8下载已经需要注册了,请使用JDK11(现在是官方长期支持的版本)     对于我们新手来说,JD ...

  5. [经验] Java Web 项目怎么部署到 Linux 系统上

    废话少说, 直奔主题 第一步: 将 web 项目打成 war 包 1: 打开项目的 pom.xml 文件 如果是迭代后的项目, 记得修改项目的版本号, 这里我的是第二版所有就把 1 改成了 2 2: ...

  6. Java Web项目在Mac系统上启动时提示nodename nor servname provided的解决办法

    今天在Mac系统上启动Java Web项目的时候,提示了Java.net.UnknownHostException: yangxiaomindeMacBook-Pro.local nodename n ...

  7. Web/Java Web项目如何模块化?没有正文,别点

    事情是这样的,两三年前做了几个Java Web项目,由于薪资原因,原主程都离开了. 由于公司不规范,也没有留下正规的开发文档,只有一个源程序在手里.后面的很多系统维护都很被动. 领导就觉得说,这样不好 ...

  8. 重拾Java Web应用的基础体系结构

    目录 一.背景 二.Web应用 2.1 HTML 2.2 HTTP 2.3 URL 2.4 Servlet 2.4.1 编写第一个Servlet程序 2.5 JSP 2.6 容器 2.7 URL映射到 ...

  9. .net基础学java系列(三)徘徊反思

    .net基础学java系列(三)徘徊反思 上一篇文章:.net基础学java系列(二)IDE 之 插件 这两天晚上看完了IDEA的教学视频:https://edu.51cto.com/course/1 ...

随机推荐

  1. DCloud-MUI:代码块

    ylbtech-DCloud-MUI:代码块 1.返回顶部 1. 怎么用? html      此底色代表最小触发字符      此底色代表非必要完整触发字符 *需HBuilder7.1+,或者下载m ...

  2. Python入门 六、像个 Pythonista

    pickle import pickle test_data = ['Save me!',123.456,True] f = file('test.data','w') pickle.dump(tes ...

  3. etcd数据备份与恢复验证

    一.单机 说明:执行etcd备份数据的恢复的机器必须和原先etcd所在机器一致 1.单机备份 etcdctl --endpoints="https://10.25.72.62:2379&qu ...

  4. linux随便贴贴

    在bin目录下进入mysql: ./mysql -uroot -p123456 update mysql.user set password=password('root') where user=' ...

  5. 图的最短路径Dijkstra

    #include <stdio.h> #include <string.h> #include <vector> #include <queue> #i ...

  6. 代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常

    代码code设置9.png/9-patch 图片背景后,此view中的TextView等控件显示不正常 设置 padding=0

  7. ESB报文自动生成工具

    为了提高日常工作效率,自己在闲暇时间写了一款工具,功能界面如下图所示: 从ESB文档中复制报文字段.字段类型.报文字段注释,选择生成文件路径并输入文件名: 输入完毕后点击生成按钮,自动生成Contex ...

  8. poj2376 Cleaning Shifts 区间贪心

    题目大意: (不说牛了) 给出n个区间,选出个数最少的区间来覆盖区间[1,t].n,t都是给出的. 题目中默认情况是[1,x],[x+1,t]也是可以的.也就是两个相邻的区间之间可以是小区间的右端与大 ...

  9. sql 排序

    select count(*) from vote group by contents PERCENT * from vote order by contents)as A group by cont ...

  10. [POI2005]SKA-Piggy Banks tarjan 水题

    Code: #include<bits/stdc++.h> #define maxn 1000002 using namespace std; void setIO(string s) { ...