以前在接手一个新项目的时候,总是会先写一个demo,把这个项目框架搭起来,已经知道的技术难点先解决掉.这样感觉做项目计划,写文档就更有信心了,时间也好估一点.但是呢,我接受到的观点都是先写技术方案,写用例,画流程图,写代码之前做了很多工作.我一直觉得后面一种观点不好,因为就算写了很多文档,画了很多图,之后写代码做计划还是虚.因为难点还没解决,到底能不能解决,不能解决怎么办呢,疑问很多.从我过人做项目来看,做一个项目,大部分时间还是在解决技术难点上的,非技术难点的话利用之前已有的代码技术积累,很快就能完成.
虽然我一直认为前面的一种要好,但是找不到说它好的证据.后来读了<<黑客与画家>>,终于解决了我的疑问.在里面,黑客是程序员的意思,黑客的工作与画家差不多,画家在画画之前,不需要把什么都想清楚才动手画画,而是边画边修改,一步步的看见自己最满意的作品呈现出来.编程也一样,有了想法就去写,不断地调试,一步步的超着预期的结果迈进.过多的纸上的设计只会磨灭程序员写程序的热情.编程语言是用来帮助思考程序的,而不是用来表达你已经想好的程序.
所以说能解决问题的方法就是好方法,如果能觉得自己的方法比传统方法在实践中效率更高,就坚持自我吧.
分享到:
相关推荐
《写庞大的代码:底层思考高层编写(第2册)》是一本深入探讨软件开发方法论和技术的书籍,尤其强调在大规模编程项目中的实践智慧。书名揭示了其核心理念,即程序员应当具备从底层硬件原理到高层软件抽象的全面理解,...
ChatGPT是由OpenAI开发的一款基于人工智能技术的语言模型,它能够理解自然语言并进行对话,甚至可以帮助编写代码。这个名为“如何用ChatGPT写代码”的压缩包文件,显然是为了指导用户如何有效地利用ChatGPT在编程...
本技术文档将详细探讨Guns项目的各个方面的使用方法、开发实践以及一些高级配置选项。 1. 技术文档与个人总结 文档中作者结合了自己的工作经验和对Guns的理解,对如何使用Guns进行项目开发进行了详细的说明,并在...
虽然有些人可能会认为编码规范限制了他们的创造力,但实际上,规范让代码更易理解,反而突出了开发者的技术水平和思考深度。同时,尽管可能并非每个项目都适用相同的规范,但在大型公司或团队中,有一套通用的规范是...
【ASP五子棋源代码+文档】是一个针对网络开发爱好者的资源,主要涵盖了使用ASP(Active Server Pages)技术实现的一款在线五子棋游戏。ASP是一种经典的服务器端脚本语言,常用于构建动态网页应用程序。这款五子棋...
在本资源中,你将找到罗刚所著《自己动手写爬虫》一书的第一章相关的源代码。这本书旨在引导读者逐步了解并实践爬虫技术,通过实际编写代码来学习和掌握这一技能。作者罗刚深入浅出地讲解了爬虫的基础知识,使初学者...
ChatGPT是由OpenAI开发的一款基于人工智能技术的语言模型,它能够理解自然语言并进行对话,甚至帮助编写代码。在这个数字化的时代,ChatGPT为程序员和IT专业人士提供了一种全新的工具,辅助他们解决编程问题和提高...
在提供的文件内容中,虽然部分代码或文本可能因为OCR扫描的不精确而导致出现了一些错误或遗漏,但我们可以从中提取出关于面向对象编程(OOP)技术的知识点,特别是围绕C++语言的复习思考题。以下是对文档内容中出现...
【程序员写不出好代码的原因分析】...综上所述,程序员写出优质代码的过程不仅需要个人技术实力,还需要良好的工作环境、合理的管理机制和团队协作精神。克服这些障碍,有助于提升整个开发团队的代码质量和项目成功率。
"设计文档"部分是项目开发的重要组成部分,它详细记录了项目的规划、功能需求、界面设计、系统架构以及预期实现的技术方案。在设计文档中,你可以找到项目的目标、用户需求分析、模块划分、界面交互设计图以及开发...
标题“jain-sip代码介绍文档”中涉及的概念为JAIN-SIP,它代表Java的接口到SIP标准。SIP是Session Initiation Protocol(会话启动协议)的缩写,由IETF(互联网工程任务组)建立,目的是创造一种新的异步、可扩展的...
无论是在团队协作,还是维护和升级遗留系统,或者是在学习新技术和架构设计,掌握如何高效地解读他人的代码对于提升个人编程能力至关重要。 首先,要读懂源代码,必须对编程语言有扎实的理解。这是基础中的基础,...
游戏,大嘴鱼吃豆豆游戏,Java完整源代码,内含详细设计文档,代码说明文档,游戏包括计分计算,关卡升级伴随着速度升级,鱼也会变大。 一、 背景描述 在完成面向对象、Swing、线程的课程后,可以开始练习本项目的...
6. **《编程之禅--绝对经典》**:这本书可能会探讨编程的哲学层面,强调编程不仅是技术工作,也是一种艺术和思考方式。它可能包括程序员的道德规范、代码的智慧,以及如何通过冥想和练习提升编程技艺。 综合这些...
- **高屋建瓴的观点**:除了具体的技术细节外,《代码大全》还分享了一些高层次的设计理念和思考方式,鼓励开发者从更高角度审视软件开发过程,从而达到更高的技术水平。 - **通用的概念**:书中介绍了一系列普遍...
Java小型游戏项目通常涵盖了许多...源代码分析将帮助你学习如何将理论知识应用于实际项目中,而文档则能引导你理解开发者的思考过程和决策。无论你是初学者还是有一定经验的开发者,这样的项目都能为你带来宝贵的提升。
- **源代码与其他文档的关系**: 除了需求文档、设计文档等之外,源代码是最直接反映设计意图的部分。这意味着在软件开发过程中,开发者应该像对待正式文档一样重视源代码的质量。 #### 二、源代码与软件设计的关系 ...
在本压缩包“记事本(程序+文档).rar”中,包含了安卓小程序的完整开发资源,这对于学习和理解安卓应用开发具有很高的价值。这个小程序不仅提供了源代码,还附带了详细的报告、运行截图、代码流程图以及编写思路,...
《Java编程思想》是 Bruce Eckel 的经典著作,它深入浅出地介绍了Java语言的核心概念和技术,对于初学者和有经验的程序员来说都是极好的学习资源。本压缩包包含两部分主要内容:Java编程思想的答案代码和英文版的...
在项目管理和团队协作方面,《代码大全 2》也提供了一些实用建议,如代码审查的流程和方法,以及如何通过有效的沟通和文档管理提高团队效率。 总的来说,这本书是一部全方位的编程指南,不仅涵盖了基础的编程技术,...