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

读书笔记第四周《代码大全》

代码大全读书笔记由于这周有个人大作业,所以我一边写大作业,写累了就看《代码大全》,我粗略地翻了一下有关前期准备的部分,重点看了调试和修改错误的部分。感觉看完之后,今天和昨天的调
  代码大全 读书笔记
  由于这周有个人大作业,所以我一边写大作业,写累了就看《代码大全》,我粗略地翻了一下有关前期准备的部分,重点看了调试和修改错误的部分。感觉看完之后,今天和昨天的调试效率要高的多,这种"做中学,学中做"的方式还是很不错地,知行合一:将知识应用到实践,使得实践能力提高。另一方面,实践也更有助于对晦涩的理论的理解。
  首先是前期准备,概括一下就是你要明确你需要完成的需求,为此你要设计什么样的框架功能模块来解决,否则你写起代码来很容易没有方向感。为了更加明确怎么写这份代码,你应该"先让战争发生在头脑中",可以把自己的想法写下来,这样思路会更加清晰,为了更好地安排时间,你也应该提前有所规划。下面是我的一些规划和写代码前的思路。
 

 

   然后是关于代码编写过程中
  1.写一段就测试一下。如果写一大段再调试,往往会出不少错,你又不知道错在哪。
  2.不要依赖编译器调错。在编译之前,自己先看看代码,很多低级错误就能找出来了,这样大大地提高了编程效率。
   我重点看了关于调试的部分:
  其中有几个我觉得很重要的建议:
  第一是在动手之前,需要理解问题,而且要理解程序本身。让自己代码一塌糊涂的最好办法,就是不懂装懂地动手修补程序,这样只会更糟。另一方面,理解全局也比理解局部往往更加高效。
  第二是放松的重要性。匆忙动手往往导致草率判断,片面分析,并不彻底的改正。压力通常来源于自身:压力过大往往导致程序员采用随机测试。这本书提到Windows 2000开发的最后阶段,修补最后错误的程序员在debug之前,先去玩了一下篮球。因为他觉得他压力太大的情况下,没法考虑所有需要考虑的问题。这点我很有同感,这两天我在写这个大作业的时候,写不下去出去跑跑步,稳定了情绪之后,往往效率也高了上去。这就是磨刀不误砍柴工。
  最后是一次只做一个改动。因为同时修改两个错误,所做的修改可能引入微妙的错误。这些错误耦合起来,可能会导致程序陷入焦油坑。
   




推荐阅读
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文深入探讨了 Java 编程语言的基础,特别是其跨平台特性和 JVM 的工作原理。通过介绍 Java 的发展历史和生态系统,帮助初学者理解如何编写并运行第一个 Java 程序。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 作为一名程序员,从大学步入职场后,常常感受到一种难以言喻的空虚感。这种感觉或许源于对生活的不满、职业发展的瓶颈,或是日常琐事带来的压力。本文将深入探讨这种复杂的情感,并尝试寻找解决之道。 ... [详细]
author-avatar
jzhs5340636
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有