`
Mybeautiful
  • 浏览: 298940 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

写代码 OR 想代码

 
阅读更多

       我们常说的写代码,其实真正写的时间并不多,而想的时间更多一些。而完全只写代码的人,其代码质量往往很差,因为没有考虑清楚就动手,就很有可能有很多问题,而去修复这些问题,往往导致更多的问题,最后可能终于功能完成了,却是一堆垃圾胡乱凑在一起,没有任何可维护性可言,更不用说美观了。

 

       所以,就如同我们大家都知道的一样,”沿着错误的方向,是很难到达真理的彼岸的。“所以先动脑,后动手;多动脑,少动手。 一段杂乱无章的代码,更多不是编写者水平有多差,是思维混乱的体现,至少是抽象能力不够;或许还有些态度问题。想清楚再写,尽量不要写垃圾代码,尽管我们每天写的都是垃圾代码(当你某天回望你代码时,你很可能发现还有改进的空间,因为你知道的更多了。) 

 

      我个人一般写代码有个习惯,找一张白纸把问题写出来,然后把要考虑的问题列出来,再出一个TODO List, 然后在想想用什么样的结构,需要那些接口、类,最后动手;当然在写的过程中也许又会有新的想法,或是遇到新的问题,这个时候就先衡量下这个问题的影响范围,如果影响只是局部,加到问题列表即可,否则可能要思考目前的结构是否合理,如果不合理,就必须马上调整。最后所有的问题一个一个解决了,而你一直都是在全面的考虑问题,树一棵棵的栽,但同时也随时鸟瞰整个森林。出问题的可能性就小,而且就算有问题,也能很快定位是哪里的问题,就如常回答我上司的一样"出这种问题的唯一可能性就是....".

 

      70%的想,30%的写,所以写代码就变成"想"代码了.

----------------------------------------------------------------------

张瑜,Mybeautiful, zhangyu0182@sina.com.

3
1
分享到:
评论

相关推荐

    or1200 代码 很好的cpu

    这种代码必须遵循OR1K的指令集规范,以便能够在OR1200处理器上正确执行。开发人员通常会使用C、C++或汇编语言来编写这样的代码,并使用针对OR1200的交叉编译工具链将源代码转换为可执行文件。 在OR1K的开发过程中,...

    or1200处理器verilog源代码

    现在我们深入探讨OR1200处理器的Verilog源代码及其重要性。 首先,理解OR1200处理器的Verilog代码是学习和研究处理器设计的关键步骤。Verilog代码提供了处理器内部结构的详细视图,包括算术逻辑单元(ALU)、寄存器...

    OR1200开源CPU源代码分析

    《OR1200开源CPU源代码分析》 在当今的计算机硬件领域,开源硬件项目逐渐受到关注,OR1200开源CPU便是其中之一。它以其开放的设计理念、高效的性能和灵活的应用,吸引了众多硬件爱好者和专业人士进行研究与开发。本...

    用C语言写的G代码读取程序

    if (Linetemp[i] in ['A'..'Z']) or (Linetemp[i] in ['a'..'z']) then break; locX := locX + Linetemp[i]; end; end else locX := locx; ``` 4. **结果输出**: 将解析得到的坐标值添加到`Memo1.Lines`...

    开源处理器or1200 Verilog源代码

    开源处理器 源代码 Verilog版 OR1200_UPR_IMP_BITS 4 `define OR1200_UPR_MP_BITS 5 `define OR1200_UPR_DUP_BITS 6 `define OR1200_UPR_PCUP_BITS 7 `define OR1200_UPR_PMP_BITS 8 `define OR1200_UPR_PICP_...

    MySql常见错误代码

    错误代码 1026 表示写文件错误,可能是由于文件权限不正确所致。解决方法是检查文件权限。 1032: 记录不存在 错误代码 1032 表示记录不存在,可能是由于记录不存在所致。解决方法是检查记录状态。 1036: 数据表是...

    《自己动手写CPU》书中代码

    通过学习这些代码,你可以了解如何定义基本的逻辑门(如AND、OR、NOT),组合逻辑电路(如编码器、解码器、多路选择器),以及时序逻辑电路(寄存器、计数器)。此外,Verilog还能用于描述更高级的结构,比如ALU...

    拖拽代码

    在IT行业中,"拖拽代码"通常指的是允许用户通过图形化界面操作,通过鼠标拖放动作来编写或组织代码的功能。这种技术常用于提高开发效率,简化编程过程,特别是对于非专业程序员或初学者来说,提供了更加直观的操作...

    WordPress代码高亮插件CodeColorer汉化升级版

    用WordPress以来,本站一直是用CodeColorer来实现代码高亮,但原版的汉化不够完全,且与不少主题都冲突,因此本人将原版修改过后使用,并加入了可视化代码插入功能,之前也想发布出来,但因为懒,一直推迟到现在,...

    Fortran写的插值脚本(bilinear or spline )

    丹麦科技大学教授写的插值工具,Fortran和.exe都有,快捷好用,英文说明如下:program for interpolating values from a grid using bilinear or spline interpolation. the grid or the prediction points may be ...

    泡泡堂游戏源代码

    泡泡堂是一款非常受欢迎的休闲竞技类游戏,它的源代码对于想要学习游戏开发,尤其是初级开发者来说,是一个宝贵的资源。 【描述】中提到的"初学者可以参考借鉴"暗示了该源代码具有一定的教学价值。初学者通过分析和...

    LAD,自己写的梯形图代码,代码简洁易读

    标题"自己写的梯形图代码,代码简洁易读"表明这是一份个人创作的LAD程序,作者强调其代码结构清晰、易于理解。这对于编程来说至关重要,因为易读的代码不仅有助于开发者自身快速理解代码功能,还便于团队协作和后期...

    手机代码.doc手机代码.doc

    14. 0,2or2,0,0,8or8,0,0,1or1,0,0,0,1,3:这些数字组合据称可以反映IMEI的产地,从而推断手机的质量,但这并不是官方认可的标准,实际上IMEI号码的前三位表示GSMA的地区分配,后五位由制造商决定,与质量无关。...

    GRE送分学校代码code

    ### GRE送分学校代码详解 #### 一、引言 GRE(Graduate Record Examinations)作为一项全球广泛认可的研究生入学考试,在申请海外高校时起着至关重要的作用。考生在参加GRE考试后,需要向目标院校提交成绩,这一...

    开源软核处理or1k(or1000)

    标签“开源软核or1k”强调了OR1K的开放源代码特性。开源软核意味着任何人均可以查看、修改和分发OR1K的源代码,这为开发人员提供了极大的灵活性和透明度,他们可以根据特定需求调整处理器核心的设计,并确保其符合...

    Verilog寄存器堆的实现代码

    这通常通过与门(AND gates)和或门(OR gates)实现,但在Verilog中,可以使用位选择操作(如`reg_file[addr]`)来简化这一过程。 6. **三态门(Tri-state Gates)**: 在多路复用的读出操作中,可能需要使用三态门...

    国际机场三字代码

    3. **马来西亚·亚罗士打**:三字代码AOR,靠近泰国边境,促进区域间的人员往来。 4. **哈萨克斯坦·阿斯塔纳**:三字代码TSE,哈萨克斯坦首都,新旧文化的交融点。 5. **印度尼西亚·巴厘**:三字代码DPS,印尼最...

    计算代码行数 程序员专用

    - **CLOC**:命令行工具,支持多种语言,可以通过`cloc your_file_or_directory`来计算。 - **Visual Studio Code**:流行的代码编辑器,安装“Code Metrics”扩展后可查看文件或项目的代码行数。 - **SonarQube*...

    C# to Java 代码转换工具

    一个很强大的工具, 能将c#代码片段、文件甚至工程直接转换成java代码,并能彻底解决外部引用的DLL问题,最强的是支持c#工程的直接转换,生成的Java代码质量也很不错。软件已破解,去除了未注册版最多只能转换1000行的...

    VHDL 四位全加器代码

    如果你想要进一步了解或学习VHDL,你可以通过这个代码文件作为起点,研究其中的细节和逻辑。 总结来说,VHDL四位全加器代码是利用VHDL语言描述四位全加器的逻辑功能,包括输入信号的处理和输出信号的生成。它通过...

Global site tag (gtag.js) - Google Analytics