热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

程序员和美工的配合问题(转)

公司的项目都是基于BS结构的,绝大多数操作界面都是通过网页的形式展现在用户面前的,页面的美观就成了非常重要的问题。记得去年的这个时候公司迎来了它历史上的

公司的项目都是基于B/S结构的,绝大多数操作界面都是通过网页的形式展现在用户面前的,页面的美观就成了非常重要的问题。记得去年的这个时候公司迎来了它历史上的第一个专职美工。同时到来的就是程序员与美工的合作问题。

矛盾篇:

公司以前的系统都是由程序员来编写界面的,美观与否先不必说,单从效率上讲就是一个很大的问题。大部分时间都花在了界面的编写上,严重影响了项目的进展速度。美工到来以后,页面的美观程度和制作速度都有了很大提高,随之而来的程序员与美工的配合问题又成了一个新的问题。其中主要的问题、矛盾有以下几点:

1. 美工何时参与到项目中来

2. 程序员不懂如何将页面弄得美观,美工也不懂如何向页面中添加代码(即使是使用了Velocity)

3. 程序员和美工是两种完全不同的人,他们关心的事情也完全不同,这就导致两种人对页面代码(html)风格的要求大相径庭——程序员要得是简单易懂,美工要得是美观漂亮

4. 程序员要做的是将数据展现在页面上(使用简单的条件、循环语句),美工要做的是将美丽充满整个屏幕(程序员会叫道:天哪!这么复杂,我怎么用if、else、for来实现)

解决篇:

上面的这几点问题和矛盾从关系上来讲是层层递进的,要一个一个依次解决。先来说说美工何时介入到项目中来,在公司做过的这些项目以及我听说过的项目看,大致有以下几种:1)先有美工制作静态页面,完成后程序员直接向页面中添加程序代码;2)程序员随时和美工沟通,向美工描述页面需求,随要随做;3)程序员自己编写测试页面,然后让美工进行美化。

这3种方式可以说是个有利弊。方式1)对程序员来说绝对是个喜讯,它能使程序员最大限度的远离那些烦人的页面编码,提高程序员工作的含金量。同时,一套完整的页面可以展现全部业务的流程,对程序员开发也起到了规范的作用。但这种方式对美工的要求极高,美工要了解项目的需求,而这一般是达不到的。但可以让了解需求的人为其讲解,或是描绘出希望的页面的样式。这样虽然可以弥补美工对业务了解的不足,但也确实花掉了很多时间(而且是花掉了比较重要的人物的时间,因为了解整体业务的一般都是公司的牛人,他们的时间可是一刻千金呀)。方式2)是一个比较折中的方法,这样做无需太多的准备就可开始编码工作,程序员把握页面内容和样式,向美工详细描述,美工再根据描述设计页面,最后返回给程序员添加代码。这个反馈的过程一般比较迅速,效果也不错,可以达到程序员预期的效果,适用于项目时间要求比较紧的情况。该方式的问题在于没有一个形象化的完整的流程可供程序员参考,一切掌握在程序员手中,容易造成对需求的贪污和系统整体风格的不统一。方式3)一般用于对已有项目的美化上,对美工的要求也很高,她们需要具备在html和其他代码混合体的环境下工作的能力。而且修改的效果一般不是很佳,不到万不得已不推荐使用。

问题2.3.4.虽然表现出来的问题各不相同,但解决的方法却很相似。首先,美工要养成一些程序员编码时惯有的习惯,比如:文件命名要有意义、html代码要根据层次进行缩进等。其次,页面代码的一些细节也要注意,比如,使用居中或右对齐标签来取代空格,必须使用空格时也要用“ ”,不使用

标签,尽量使用表格等。再次,如果在条件允许的情况下,美工也可以学习一下夹杂在页面中的各种程序代码,了解其语义和工作原理,这将对与程序员的合作起到很大的帮助的。最后,就是程序员要在向页面文件中添加代码前先对页面代码做一下审核工作,在这里并不是看美工的页面是否美观,而是看在原有页面代码的基础上是否能够使用简单的条件、循环语句来显示数据(比如,页面布局过于复杂,不能通过简单的循环来显示所有数据),否则就需要修改页面代码直到能满足要求为止。
做网站后台的流程一般是这样的:

一、网站规划阶段

  这个阶段主要是对网站的功能、目标受众、内容、栏目进行规划。这期间会经常性地和有关领导进行沟通。首先,自己一定要对网站的整体规划清清楚楚,然后要吸收别人的建议。吸收别人的建议的过程,可以认认真真地做,也可以走过场,但是有这个过程以后,别人才不会对你的规划说三道四。
  至于领导的意愿,和你的规划靠得上边的,你一定要让领导明白,他们的设想已经在你的规划中被考虑进去了。
  项目的大致进度,要在这个阶段结束的时候确定下来。

二、后台模块划分和版面设计

  这个阶段,程序员要和美工兵分两路分头行动。
  后台模块划分如果做好了,后面的效率会高一些。这个过程不能省。
  版面设计,美工既要考虑网站整体规划,又要考虑大家的建议,尤其是不能忽视领导们的观点(虽然大多数情况下领导的美术细胞少得可怜)。在这个大前提下,再兼顾美观、合理。一个好的美工,不仅仅能做出漂亮的页面,还要能迎合一下客户或者公司领导的意愿,而且能和程序员进行沟通。
  在这个阶段,程序员和项目经理(项目负责人)要拿出一个可操作的模块划分方案,而美工要确定网站的版面框架、美术风格,做出网站首页和二级页面。
  实际上,在第一个阶段(网站规划阶段),美工就应该开始思考网站的风格了。在第二个阶段,则需要把比较抽象的初级设想变成具体的页面。基本上,首页定了,整个网站的页面就定了一大半了。
  在这个阶段结束的时候,要将项目的进度计划进一步具体化。

三、数据库设计

  这项工作很重要。但是程序员应该知道怎么去做。而且数据库设计是和一个人的理论水平、实际经验息息相关的,不是几句话能说明白的。大的、复杂的站点,数据库规划可能要用一周左右的时间,小的、简单的站点,数据库设计也需要2到3天。
  在这个阶段,美工最好别闲着,继续完成页面设计。要知道下一个阶段,程序员可就要用到美工的页面了。最好别出现这样的情况:程序员要用到某个页面,而美工还没有把那个页面确定下来。

四、后台程序编码

  这个阶段,程序员要紧张工作,会比较辛苦的。
  程序员需要遵守的三个原则:
  1、团队合作;
  2、保证进度;
  3、保证质量。
  美工这个时候要辅助程序员做页面。这个阶段美工可能比较闲,但是一定要称职。

  项目经理该和客户或者领导沟通的时候,一定要沟通。

五、除错、改进、页面美化

  这个阶段,不多说了。项目经理和客户、领导的沟通,仍然是很重要的。
http://spaces.msn.com/yichen914/blog/cns!723590D920FAF62B!163.entry?_c=BlogPart

转:https://www.cnblogs.com/JeffChen/archive/2006/05/02/390757.html



推荐阅读
  • Facebook PrestoDB 配置指南
    本指南详细介绍了如何安装和配置 Facebook PrestoDB,包括必要的文件设置和启动方法。 ... [详细]
  • 本文深入探讨了 Prototype.js 框架及其与 JavaScript 原生 toString() 方法之间的区别,适合对前端开发感兴趣的开发者阅读。文章将帮助读者理解两者在功能实现和应用场景上的不同,从而更好地利用这些工具进行高效编程。 ... [详细]
  • .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了
    .NETCore中的一个接口多种实现的依赖注入与动态选择看这篇就够了最近有个需求就是一个抽象仓储层接口方法需要SqlServer以及Oracle两种实现方式,为了灵活我在依赖注入的 ... [详细]
  • MySQL中的Anemometer使用指南
    本文详细介绍了如何在MySQL环境中部署和使用Anemometer,以帮助开发者有效监控和优化慢查询性能。通过本文,您将了解从环境准备到具体配置的全过程。 ... [详细]
  • python爬虫Demo
    1爬虫功能:爬取某域名下所有网页,比如爬取python文档 https:docs.python.orgzh-cn3 ,爬取之后, ... [详细]
  • ECharts 基础使用指南
    本文档提供了一个简单的 ECharts 使用示例,帮助初学者快速了解如何在网页中集成和使用 ECharts 创建图表。更多详细信息请参阅官方文档:https://www.echartsjs.com/zh/tutorial.html#5%20分钟上手%20ECharts ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • 本文提供了一套实用的方法论,旨在帮助开发者构建能够应对高并发请求且易于扩展的Web服务。内容涵盖了服务器架构、数据库管理、缓存策略以及异步处理等多个方面。 ... [详细]
  • 深入理解Java NIO:基础概念与原理
    本文介绍了Java NIO(New Input/Output)的基本概念,包括同步与异步、阻塞与非阻塞等核心理念,以及NIO相对于传统IO的优势和应用场景。通过详细解析这些概念,帮助读者更好地理解和掌握NIO的使用。 ... [详细]
  • 在Ubuntu 16.04中使用Anaconda安装TensorFlow
    本文详细介绍了如何在Ubuntu 16.04系统上通过Anaconda环境管理工具安装TensorFlow。首先,需要下载并安装Anaconda,然后配置环境变量以确保系统能够识别Anaconda命令。接着,创建一个特定的Python环境用于安装TensorFlow,并通过指定的镜像源加速安装过程。最后,通过一个简单的线性回归示例验证TensorFlow的安装是否成功。 ... [详细]
  • 本文介绍了如何使用外向烧鹅IO库来封装GET请求的具体步骤,包括库的安装与配置、请求拦截器的设置以及如何在Vue项目中调用这些封装好的请求方法。 ... [详细]
  • Struts2(六) 用Struts完成客户列表显示
    Struts完成客户列表显示所用的基础知识在之前的随笔中已经讲过。这篇是介绍如何使用Struts完成客户列表显示。下面是完成的代码执行逻辑图:抽取项目部分代码相信大家 ... [详细]
  • 本文探讨了Oracle数据库中角色的创建与管理方法,包括如何使用SET ROLE命令激活特定角色,并调整用户的默认角色设置。 ... [详细]
  • 近期,公司在构建新的交易系统时遇到了一个常见的问题——金额存储。由于涉及资金的操作需要高度的准确性,使用float类型进行金额计算可能会导致不可预见的误差。本文将深入探讨这一问题,并提供解决方案。 ... [详细]
  • 本文首先展示淡入效果的实现结果,需要注意的是,当前展示的效果未包含逻辑控制,所有动画均为随机演示。文章将详细介绍如何避免常见的陷阱,并正确实现淡入效果。 ... [详细]
author-avatar
8prye孙瑞D
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有