`
leogao_emcom
  • 浏览: 82955 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

有关分析问题的思路

阅读更多
走过7年的软件行业职业生涯,总想总结点什么,但是又不知道从何说起,只要沉思下来,发现无论是技术上的,管理上的,方法论上的,架构上的,等等这些都是人的思想指导而成的,最根本的问题是如何有一个正确的思想体系来指导实践,这是非常明显的道理吧。但是什么是正确的思想体系,我指的是一个体系,因为处理一个问题时也许不仅仅依靠于单一领域的知识和思想,更重要的是基于一种对事物本质看法为基础而衍生出来的思想体系。就拿软件而言,它不过就是人们拿来解决问题的工具,和商场橱窗里面卖的东西没有两样,但是本质上它有所不同,不是全部的不同!不同之处在于它是脑力劳动的产物,是具备可控结构的产品,说它可控,是因为我们研究自然界的时候,很多东西根本无法认知,至少现在不能,比如科学家已经知道了DNA的结构,知道它是构建生物的基础,但是却不知道为什么会带来生命,也知道生命来之于无机物,但是却没有成功制造出来过。对于软件,是我们构思于头脑中的,并且采用一定的手段实施的,全部来之于人脑的智慧,而这些智慧均来之于对现实客观事物的分析和以往知识和经验,也就是说”精神变物质“,基本点就是”实事求是“的发现事物的本质,才能得到正确的思想,而即可建立一套思想体系吧,
我对软件的本质理解只有两句话:
1)软件是给人用的工具
2)简洁压倒一切

对于做工具,要成为巨匠,我看必须经历这样的过程,第一步是学习以往的知识,然后不断的思考和反思知识本身,通过实践去验证和成为现有知识的熟练者,并且熟练运用之,第二步,在书本上根本找不到的东西-经验,来之于你的实践,面对不同的应用场景,并且利用以往的知识和自己总结出来的知识来处理问题,并能发挥想象力,对创建的东西有全局观念。第三步,实践越多问题越多,解决了这些问题,就越来越对软件的本质有了体悟,此时它更注重一种创新精神,这精神来之于逻辑思维和感性思维,并且更加脱离于技术本身,更加重视从观察世界得来灵感,更加重视感性思维,此时他已经脱离于技术的本身羁绊,开始创造新东西了。这就是我对使用工具的理解。另外对于工具必先是精熟之,而后破离之。

从历史上看,凡是那些用起来麻烦,理解起来麻烦,甚至于理论体系不完整而且混论的东西都没有太长的生命力,而有一种简单却使一种东西有着长久生命力,这种简单就是能从纷繁复杂的局面里面分析出事物的本质,并用结构简单和简洁的解决办法来直接解决之,这就如有人解一道数学题,用了很复杂的算式,但是有人就能抓住本质,用最直接的办法解决。但这不是1+1=2那么简单,而是经过深刻思想提炼的简洁,就比如E=MC2,把事物内部的复杂规律用一个简洁的道理来回答,直接到达本质,我看软件开发人员就应该具备这样的能力,抽象的能力,纵观全局的能力,抓重点和抓本质的能力,这就需要不断面对实践,不断的思考和总结,不断的挑战自己,不断的学习,敢于胜利。等到你能用技术这种工具表达你自己对世界的看法和思想时,你就已经脱离于技术的羁绊,开始徜徉于更加广阔的天地了。
4
1
分享到:
评论
7 楼 cherrycmd 2010-11-02  
作为程序员要多思考、多想、这样思维才能更加敏捷,敢于实践!
6 楼 leogao_emcom 2010-11-02  
说到点子上了!我也是这个意思
5 楼 swen00 2010-11-02  
偶的观点:
分析问题,就是对概念的划分与分层,但能否做到就是个人经验能力问题了。
对否,太简单了写。:)
4 楼 leogao_emcom 2010-11-02  
哦,呵呵。
引用
我的意思是,在设计之初,以人的正常行为去定义程序的行为。


我的理解是让对象本身只做自己应该做的事情,比如一个扳手,就是用来“扳”东西的,如果系统内所有的对象都是安分守己的,不做多余的事情,并且在思考如何设计他们的时候,只是根据他们应该有的行为来设计,包括内部的方法实现,用最简洁的方式实现,再大一些,类之间的关系,也由其他组件来管理,如IOC容器,并且所有对象不掺入自己负责以外的事情,比如日志,可以由切面来负责,系统所有的对象,组件都是安分守己的。我想你的思路很好,非常好,不过可以这样讲,基于你的思路,不仅仅是方法级别上,类级别上,组件级别上,框架级别上或者是架构级别上,甚至是设计活动,需求活动,都应该从“正常行为”出发,保证每件事物只用于它应该拥有的属性和行为,对于对立面“非正常”,可以理解为把系统纯粹理解成给计算机的,非人类行为范围之中的,或者是人类在现实世界认知不符合的,比如让一个扳手播放MP3.“过度设计”或者“设计不足”或者”坦克被造成自行车“等等,反而使事情变得越来越复杂了。
所以说我认为你的思路很好,非常好,至少在一开始就保持一个正确的方向!并且在这个方向下作正确的事情。
我很同意您的看法。
3 楼 langyu 2010-11-02  
呵呵,看来是我没有说清楚。我的意思是,在设计之初,以人的正常行为去定义程序的行为。我觉着我是个主线,不要偏离太多。因为人的正常行为受社会影响,基本是解决问题的最优解。算法、数据结构、框架等的思想都是从现实中来,再通过各种方式回到现实中去。
有些程序让我们觉着不简洁,咎其原因主要也是因为在设计时不按正常人的思维逻辑来。
这些是我现在的想法,请点评,谢谢!
2 楼 leogao_emcom 2010-11-02  
如果那个程序是人的话,也不能孤立地看待他、她。要看他、她要做的事情,也就是上下文,比如他、她想做的是洗一件衣服,那么起码他、她知道洗衣机和衣服以及其他东西的用法和知识,也就是必须有和这些东西交互的接口,比如洗衣机,这个人应该知道它有一个Power on按钮(方法)和其他的需要的接口。有了这些在某个上下文中关联的物件以及和这个人的关系后,可以考虑这个人改如何做,他、她最大期望就是One Click搞定洗衣服这件事情,那么就应该把事情搞得轻量一些,型号洗衣机只暴露一个简单接口,它可以直接激活(调用)它,只要知道一个接口就可以,可以不知道洗衣机的型号,性能,品牌,厂家,只要是和洗衣服这件事无关的事情或者接口他、她都可以不知道。综上,我觉得你提出的这个问题很新颖,但是我很赞同,因为你是从目标的能动(要求,或者需求)出发的,也就是先明确目标的“责任”,然后它如何履行“责任”,这样来思考一个对象的行为的或者属性的,但是我的建议是必须把目标放到一个上下文中分析,并且保持责任独立,和与其他物件(对象)之间的一种松耦合,可以保证目标足够简洁,也好维护和测试。
1 楼 langyu 2010-11-02  
我现在的理解是:在设计程序时想想,如果那个程序是人的话,他该怎么做。您对这种认识有什么见解,谢谢

相关推荐

    LTETPO小区问题分析优化思路分析.docx

    以下是一些具体的分析思路和技术方法: 1. **掉线类问题**:掉线是影响用户体验的重要指标。常见的影响因素包括网络覆盖质量、参数配置、用户终端能力、软件版本差异以及外部干扰等。首先,我们需要对掉线问题进行...

    死机问题诊断思路日志分析V4.4.pptx

    【死机问题诊断思路与日志分析】 在IT运维中,遇到死机问题是一个常见的挑战,尤其对于大规模的企业级系统而言。死机问题可能导致业务中断,影响用户体验,甚至造成数据丢失。本篇内容主要针对Windows和Linux系统的...

    商业分析的思路和流程.pdf

    为了有效地进行商业分析,本文将详细探讨商业分析的思路和流程,特别是如何分析营销数据、理清思路、寻找问题关键以及分析营销问题的常见方法。 首先,商业分析是一个需要组织和解读数据的结构化过程,其目的在于...

    PCB可靠性问题失效分析思路 新能源检测技术材料检测文档.doc

    新能源检测技术材料检测与上述分析思路密切相关,因为新能源应用的PCB可能面临特殊的工作环境和应力条件,材料性能和兼容性是关键。通过这些技术,可以评估PCB的耐久性和适应性,优化设计,改进制造工艺,选择更适合...

    2023年五一赛B题-快递需求分析问题01-代码数据在附录

    在快递需求分析问题中,该模型被用来处理具有不确定性和不完整信息的数据。首先,通过对数据进行同趋势化处理,消除数据中的趋势影响,使各指标在同一水平上进行比较。接着,熵权法计算各指标的权重,以反映其在整体...

    有关涉法涉诉信访问题原因分析及化解思路

    有关涉法涉诉信访问题原因分析及化解思路

    大数据与云计算的安全问题及解决思路分析.pdf

    本部分将对大数据与云计算的概念、特点、面临的安全问题以及解决思路进行详细分析,以期为行业安全提供参考。 一、大数据与云计算概述 1. 大数据概念 大数据指的是一种能够处理大规模数据集合的商业模式和技术平台...

    2021美赛A题思路

    1. **问题理解**:深入理解题目的背景和要求,明确需要解决的核心问题,这可能涉及到对问题背景的调研和相关领域的知识学习。 2. **模型选择**:根据问题特性选择合适的数学模型,这可能包括连续模型、离散模型、...

    印制电路板连通性失效的分析思路和方法研究.pdf

    本文档详细探讨了PCB连通性失效分析的思路和方法,对故障确认、失效点定位、失效模式的确认和失效机制的分析进行了综合研究,旨在为工程师和技术人员提供一个准确且高效的问题诊断和解决流程。 首先,连通性失效...

    生意数据分析的思路与方法-理解生意分析.rar

    生意数据分析是商业决策过程中的重要环节,它涉及对各类数据的收集、整理、分析和解读,以揭示业务模式、预测趋势、发现问题并提出改进策略。本资料“生意数据分析的思路与方法-理解生意分析”旨在深入探讨这一主题...

    店铺分析诊断思路.doc

    《店铺分析诊断思路》主要探讨了如何通过数据分析来识别并解决电商店铺运营中的问题,尤其关注流量、转化率和店铺权重等关键指标。以下是详细的知识点解析: 1. **核心指标诊断**:首先,需要诊断全店的核心指标,...

    数据分析师常用的十种数据分析思路

    ### 数据分析师常用的十种数据分析思路详解 #### 一、细分分析 **定义**: 细分分析是一种基础的数据分析方法,它通过将一个大的整体分解成更小的部分来提高数据的信息价值。细分的目的在于揭示隐藏在汇总数据之下的...

    IP故障处理分析思路

    ### IP故障处理分析思路 #### 一、概述 在现代通信网络中,IP技术作为核心组成部分,其稳定性和可靠性直接影响到整个网络的服务质量。当出现IP故障时,快速准确地定位问题并采取有效措施进行修复至关重要。本文将...

    数据分析思路.pdf

    数据分析的目的是提供数据结果,而不是解决方案,因此分析师应协助业务部门找到问题的答案,而不是代替他们制定策略。 进入数据层,数据的获取、清洗和整理是数据分析的基础。数据来源多样化,包括企业数据库、统计...

    数学分析中的典型问题与方法(裴礼文)

    对于每一种典型问题,《数学分析中的典型问题与方法》都提供了详细的解答思路和方法,具体包括: - **基本定义与定理的应用**:通过对数学分析中的核心定义和定理的深刻理解,为解决问题提供理论依据。 - **例题...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part2.rar

    第1章 引起数据库性能问题的因素 1 1.1 软件设计对数据库的影响 1 1.1.1 软件架构设计对数据库性能的影响 1 1.1.2 软件代码的编写对数据库性能的影响 2 1.2 数据库的设计 8 1.2.1 oltp数据库 9 1.2.2 olap数据库 10 ...

    经营分析思路交流.pptx

    在“经营分析思路交流.pptx”文档中,我们可以看到多种关键知识点,这些知识点构成了全面而深入的经营分析框架。 首先,经营分析的目的在于理解和汇报经营结果,以及对过去的表现进行总结回顾。这不仅包括了总体...

    6案例分析答题思路.pdf

    【软考案例分析答题思路详解】 在准备软考案例分析部分时,理解并掌握答题思路至关重要。本资料提供了32小时速记秘籍,重点强调了变更管理、配置管理和项目管理的关键环节。以下是对这些知识点的详细阐述: 1. **...

    税收分析的基本思路收集.pdf

    本文将围绕税收分析的基本思路,包括其变化、深化及在税收管理中的应用进行详细阐述。 首先,税收分析思路的变化反映了税收工作从单一关注税收收入向全面考虑经济因素的转变。以前的税收分析主要关注税收收入的数量...

Global site tag (gtag.js) - Google Analytics