zoukankan      html  css  js  c++  java
  • 程序员为何不爱设计?

    大多数程序员,都是喜爱编码多过设计。遇到什么问题,首先就是想着上机“试一试",直到碰壁之后,才思考哪里出了问题。

    为何程序员不爱预先设计?

    我认为是缺乏设计工具造成的。虽然知道设计很重要,但是却缺乏行之有效的设计工具,只能见步行步。

    因此,我们不需要一而再再而三的强调设计的重要性,而需要总结一套行之有效的设计工具,以满足设计流程的需求。

    面向对象设计是一套工具,但是这套工具和编码环节很接近,属于比较后期的设计工具。

    在前期的设计工具就是收集资料,和分析整理资料,甚至是定下我们产品目标,这些内容很重要,而且应该在流程的初期去完成。你不可能说我用面向对象设计软件出来后,才去分析产品的定位。

    但是程序员的知识面相对比较狭窄,专业,而对于产品层次的东西往往缺少相应的知识和能动性,但实际上做软件并不是编码为目的,而是以产品为目的,这就要求我们要不就具备相应的产品开发知识,要不就要有相关的专业人员去负责。

     如果作为一个独立软件的程序员,应该从整个产品研发流程出发去设计软件。 

    可以的选择是: 

    一、模仿他人

    二、重新定位

     模仿永远是最有效的方法,但是如果对方的条件和你相差太大,模仿是低成效的。

     重新定位就要了解行业状况,知道当前产品的吸引力和不足在哪里,然后结合自身条件,才能从中找到切入点。

     考虑未来:

    产品从研发到生产,需要一段时间,这个时间差可能对产品的定位有很大的影响,需要将时间差考虑进去,为将来开发恰当的产品。

    产品的下一代研发也需要相应的时间,这段时间内就是现有产品必须要维持竞争力,因此也需要将这个因素考虑进去来进行产品定位。

    提高生产效率,降低成本:

    一个相同定位的产品,如果能够提高效率,降低成本,这就能获得更高的利润。在建立定位后,真正可做的不是擅改定位,把一些超酷的功能加进去;,而是保持目标的前提下,不断压缩成本,这是很多程序员不注意的地方,永远想着用最新最酷的工具去开发,而不在乎投入时间和精力,这是有害的。

    有些时候甚至不妨降低定位,以获得更低的成本。

     建立流程和设计工具:

    工具可以是学习得来的,也可以是经验得到的,如果生产者不注重工具和方法,不断以最原始的状态去摸索,必然是低成效的。很多设计工具并不是十分有效。无效的工具会让你大脑一片空白,踌躇不前,失去目标,而有效的工具会让你保持工作状态,不需要反反复复尝试新的方案和路线。 

    工具不是越多越好,也不是越强大越好,而是需要高的生产效率,低的维护和学习成本。一把小刀的事情不要借助电锯。把刀磨利,把流程总结起来,用可以预见的方式去尽心产品开发。

  • 相关阅读:
    475. Heaters
    69. Sqrt(x)
    83. Remove Duplicates from Sorted List Java solutions
    206. Reverse Linked List java solutions
    100. Same Tree Java Solutions
    1. Two Sum Java Solutions
    9. Palindrome Number Java Solutions
    112. Path Sum Java Solutin
    190. Reverse Bits Java Solutin
    202. Happy Number Java Solutin
  • 原文地址:https://www.cnblogs.com/Nobel/p/2385106.html
Copyright © 2011-2022 走看看