关于WEB项目的一点想法
有点失落、迷茫,差点在上班的时候发了火。原因是之前离职的一位同事,在代码里不加注释,而且百般偷懒,致使很多应该的验证没有验证,很多应该考虑到的情况没有考虑。因为是老员工,我相比他来说是新员工。气势上总是差那么一点点的,不敢去质疑前辈们的代码。但是这样下去,项目的质量一直提升不上去,讲他还不能讲,对于整个项目管理来说这样的员工就是一颗定时炸弹。虽然是写了代码,恭喜还能跑,但是这是在浪费公司的资源,也是在浪费同事的时间。这样的代码以后维护起来,是要花费很大的代价的,是非常大的代价。然而现在已经是这种情况了,没有办法,只有错上加错,在慌乱的代码里东凑西补,使得项目更加难以维护。
另外一个原因,就是项目的设计。从公司的管理层面上来讲,管理是基于两种前提的:信任,不信任。在信任的前提下,企业会给足员工的发展空间,让员工去发展。但是就我所在公司与管理层的领导风格来看,是基于后者的。无论是基于信任还是不信任,其实都不是最主要的。就如同人性本恶与人性本善的悖论。关键的点在于,我们公司的产品设计人员是从程序员出身的,这一点就十分有必要说说了。
一个好的产品首先应该是一个好的消费者,其产品的设计应该是为用户服务的。技术干烦了,就转管理或者转产品设计人员。优势是有的,例如对产品的技术上可能了解的更为透彻,在产品的一些逻辑难点能够给予关键帮助。但是弊端也是显而易见的,就是程序员做久了,其审美能力的严重缺失,在乎数据、逻辑的正确性程度要远远大于界面的美观度页面的加载速度,也就是通常我们所讲的用户体验。其设计产品的时候过分关注与逻辑层面,而忽视用户层面。作为一名用户来说,我是不管你的这个数据是连接多少张表去查询出来的,也不管你攻克了什么难题,使用了什么牛逼的技术,你只需要在我需要的时候,将页面以我察觉不到的速度展示在我面前就行了,一切要以用户的角度去思考程序。其管理与设计要从大处着手,不能太过关注与某部分细节。
产品与程序分工不同,薪酬不同。所以如果做产品就不要再有程序的思维,以人的思维去考虑。程序思维可能让你拥有解决问题的能力,但是也限制了你设计产品的能力。
产品设计人员的沟通能力是至关重要的。程序员整日埋头敲代码,言语表达能力交际能力都不如专业的产品设计。你有一个牛逼哄哄的设计,你自己很清楚它能够达到什么样的效果,能够带来多少的利润。但是你表达不清楚,一切都是扯淡。跟你干活的程序员不知道,不知道你想要表达什么。以我做的产品为例,是关于大数据的整理加工。多表联查,数据之间逻辑异常复杂。我做的时候虽然明白数据与数据之间的逻辑,但是仅仅是明白,但是这些数据有什么意义呢,我是不清楚呢。就如同我荒废的大学时光,虽然每天都在上课,但是却浑浑噩噩度日。显而易见是非常低效率的。
好的产品设计一定要表达出来。你用不了声情并茂的讲演表达出来,那总可以用翔实的设计文档来描述吧。口述是万万不可的,人在说话的时候,逻辑的严密性是非常差的,而却不具备整理性。基本上是想到哪,说到哪。其中会遗漏很多的产品逻辑细节,这些设计人员是心知肚明的,就是忘记告诉你了。但是产品设计认为你们之间很有默契,你懂他。事实上,人与人之间言语的交流是非常低效的,据说不到50%。因此凡是产品设计一定要有文档,这是确定的必须执行的。
产品设计人员要将产品设计给程序人员讲解一遍,然后程序人员整理产品设计稿件给产品。再开一次会议来共同确认讨论结果,一定要确认好,程序做的产品是否是设计人员想要的产品。一流的设计,三流的执行,会做的不入流。三流的设计,一流的执行,做出来至少要比三流强。
最后一些话是想对自己说的。低头干活,抬头看路。做程序员的时候,要先把本职工作做好,但是不要把所有的精力都放在程序上,程序只是实现一种服务的方法。生活中有很多的乐趣需要去体验,我们还年轻,还要玩耍还要疯狂。所以写程序的时候,站在产品设计的角度去写程序,往往会有一种畅快的感觉。至于那些名词花哨的技术,身边牛逼哄哄的大牛,我们要学会视而不见,因为这些我们都终将学会,这些大牛我们终将超越。所谓大牛,无谓庖丁解牛,无它,惟手熟尔。
关于WEB项目的一点想法的更多相关文章
- 系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...
- Java Web项目中连接Access数据库的配置方法
本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...
- web项目开发流程
对于一个web项目,在实际编码之前,有一些通用的步骤来planning a website: 0.Defining the project (predr0->dr0) 对于外部项目,客户一般会发 ...
- 使用eclipse运行maven web项目 插件/非插件
一.使用插件 tomcat 8.5 tomcat-users.xml中添加这一行就ok <user username="admin" password="admin ...
- 使用EXtjs6.2构建web项目
一.项目简介 众所周知ext是一款非常强大的表格控件,尤其是里边的grid为用户提供了非常多的功能,现在主流的还是用extjs4.0-4.2,但是更高一点的版本更加符合人的审美要求.因此,在今天咱们构 ...
- .NET WEB项目的调试发布相关
最近接触了.NET WEB项目,调试的时候因为没配置好文件浪费了些时间,特此记录一下相关配置,以后备用 如果IIS的基目录指向了别处,在build以后必须要发布,其实就是把最新的程序更新到IIS的基目 ...
- 模拟搭建Web项目的真实运行环境(七)
下面这个是mongo驱动的小案例,里面也有涉及到一点redis的操作 https://github.com/SuperRocky/MyMongoDriver 接下来通过几张图片主要介绍一下每个文件的具 ...
- web项目ajax技术一些总结
WEB项目中,最主要的就是前后端间的联络.有时需要不进行页面跳转的前提下请求后端方法(action),就需要用到ajax. 在这个博客中,我用到的都是原生的js的ajax,不是很喜欢用jquery的a ...
- Spring Scope:Web项目中如何安全使用有状态的Bean对象?
Web系统是最常见的Java应用系统之一,现在流行的Web项目多使用ssm或ssh框架,使用spring进行bean的管理,这为我们编写web项目带来了很多方便,通常,我们的controler层使用注 ...
随机推荐
- JVM之CMS收集器
CMS(Concurrent Mark Sweep) 最短回收停顿,适合维持响应时间上的要求. 初始标记 Initial mark:标记GC Roots能够关联到的对象.stop-mark. 并发标记 ...
- C#:结构
1. 简单示例 // 定义结构 public struct Person { public string name; public int age; } class Program { static ...
- $.parseJson 在 firefox 下返回 null 的问题
最近调查一个浏览器兼容性问题,在 IE, chrome下都运行正常,但是在 firefox 下运行时: $.parseJson(xxx) 返回 null,所以导致了 无法正常运行,调查的结果是因为 返 ...
- Android 分享到微信
/** * 分享信息到朋友 * * @param file,假如图片的路径为path,那么file = new File(path); */ private void shareToFriend(Fi ...
- C#创建委托实例
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyDe ...
- 摆脱jquery,用自己的JS库实现ajax功能
可以将下面的代码保存在一个文件里如:myAjax.js,以后在项目中如果觉得jquery那一套很重,就完全可以使用自己的ajax库,不用担心性能和兼容性! /** * 创建ajax请求对象 * @re ...
- bzoj-4518 4518: [Sdoi2016]征途(斜率优化dp)
题目链接: 4518: [Sdoi2016]征途 Description Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地 ...
- CentOS安装MySQL
好记性不如烂笔头,记录一下 yum list installed | grep mysql #检查是否安装了mysql yum -y remove mysql-libs.x86_64 #卸载已经安装的 ...
- 用Access为支撑,书写一个用C#写入数据库的案列
/// <summary> /// 读取Excel文档 /// </summary> /// <param name="Path">文件名称&l ...
- Spring基础[IOC/DI、AOP]
一.Spring作用:管理项目中各种业务Bean(service类.Dao类.Action类),实例化类,属性赋值 二.Spring IOC(Inversion of Control )控制反转,也被 ...