今天开始阅读《程序员开发心理学》这本书,只是开了个小头。

这本书的开篇就提到了作者对于阅读程序的看法,正如老师交给我们的一样,在学习编程的时候第一步就是要学习,只有多看别的的程序、代码才有可能把它转化为自己的东西,然后自己才能有能力去编写自己的程序。

计算机毕竟是一台机器,它没有思考的能力,而且都会有不同的局限性。而程序员要做的一项重要的工作就是要让自己编写的代码在某台计算机上可以顺利地运行,克服那些计算机的硬件配置的问题;语言同样会有各种各样的局限性,我们现在学过的Java、C++等,总是因为数据类型、代码格式等因素而出现许多或多或少让人难以解决的问题;而当程序员对某种语言不是很了解的时候就会在编程的时候出现大量的冗余的和不必要的代码行,所以深入了解一门语言,多学习一些语句,并且始终规范自己的代码,从心理上转变对问题的解决方法会大大提高自己的工作效率。

程序的好坏是很难给予标准来衡量的,如果只是从表面看它的代码是否足够简洁、是否合乎技术规范、资源是否利用的很合理、运行速度是否很快,这根本无法对程序的好坏进行定界。所以一个程序的优秀与否必须是将它放到一个特定的环境中,在某些条件下看它是否满足某些特定的需求,这样程序的好坏才会变得有意义。当一个程序如果不能运行正确的时候,那它的运行效率和处理数据的能力和速度就没有必要为大家所考虑;好有很重要的一点就是程序的交付时间,有时候当用户规定一个期限时如果没有在那之前完成程序的话,也就没有再开发下去的意义了;程序的环境适应性和工作效率在大多数情况下仍然应该值得开发人员的关注。

程序开发被称作是一项人的行为,此时我们就要利用一些现有的研究成果或者是已有的解决问题的方法来帮助我们进行程序开发。自省是我们需要经常进行的工作,只有在这个过程中我们才有可能及时发现自己的问题并及时的加以改正;此外观察也是至关重要的,只有善于观察的人程序员才能使自己的程序更加完善,更加符合特定的需求;而在观察之后完成程序的过程中就要进行不断地实验,以检验自己编写的程序是否符合条件和要求,而且在测试的时候也要相应地给自己心理暗示让自己从不同的角度去考量问题。

转载于:https://www.cnblogs.com/mengxiangjialzh/p/4537323.html

《程序员开发心理学》阅读笔记一相关推荐

  1. 《深入浅出4G网络 LTE_EPC》阅读笔记一

    不同的LTE概念名称关系 LTE的EPC演进到:结构扁平化,承载控制分离,全IP组网形态. 整个移动数据网络除空口部分外,其他全部接口已经实现了IP化.分组化. MM:移动性管理.移动性流程包括所有追 ...

  2. VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGG网络)-论文阅读笔记

    VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION VGG网络 论文阅读笔记 //2022.4.11上午9:53开始阅 ...

  3. 《深入浅出4G网络 LTE EPC 》1,2章笔记

    4G概念 先后出现 LTE SAE EPC EPS等名字 工作项目名称 研究对象 SAE EPC 演进分组核心网 4G LTE E-UTRAN EPC+E-UTRAN +UE 共同构成EPS(演进的分 ...

  4. B-RAN网络(区块链无线接入网络)阅读笔记

    Blockchain Radio Access Network Beyond 5G阅读笔记 摘要 提出一种先进的无线网接入模式B-RAN,B-RAN利用区块链,将大规模的免信任子网络连接成大规模可信任 ...

  5. 深入浅出图神经网络【阅读笔记】

    主要内容 基础篇: 1 图的概述 2 神经网络基础 3 卷积神经网络 4 表示学习 高级篇 5 图信号处理与图卷积神经网络 6 GCN的性质 7 GNN的变体与框架 8 图分类 9 基于GNN的图表示 ...

  6. 3D卷积网络论文阅读笔记

    3D卷积网络 1.What is the best data augmentation approach for brain tumor segmentation using 3D U-Net? 实验 ...

  7. CartoonGAN_CVPR_2018为照片卡通化而生的对抗网络论文阅读笔记

    CartoonGAN_CVPR_2018 好了 进入正题 话不多说 快上车 CartoonGAN: Generative Adversarial Networks for Photo Cartooni ...

  8. SRv6网络编程阅读笔记

    SRv6基本原理 概述 网络指令:SRv6 Segment(SID) Locator Function Arguments Locator是网络拓扑中分配给一个网络节点的标识,用于路由和转发报文到该节 ...

  9. 《深入浅出vue.js》阅读笔记之数组变化侦测

    1.如何追踪变化 数组的侦测方式和对象不同,比如: this.list.push(1) 此时并不会像改变对象一样触发setter. 同理,要侦测数组的变化意味着我们在改变数组的时候得到通知,如图,我们 ...

  10. 3G UMTS与4G LTE核心网(二):4G网络概述

    4G网络概述 1 关于4G的几个概念 2 长期演进到哪里了 3 EPC网络的网元 参考文献 1 关于4G的几个概念 SAE(System Architecture Evolution,系统架构演进) ...

最新文章

  1. R语言使用ggpubr包的ggarrange函数组合多张结论图:使用ggpubr包将图像、文本、表格组合在一起展示
  2. 运用Smark.SocketAsyncs方便实现数据交互服务
  3. Paired Joint Coordinates
  4. java获取注解信息_java 自定义注解,获取注解信息
  5. run在java_Java语言start和run方法的区别
  6. 学校计算机二级模拟上机能看分数吗,全国计算机二级考试机试考完怎么储存的...
  7. 2014.10.18笔记
  8. 【Pygame】屏幕图形绘制
  9. 域控制器的常规卸载,Active Directory系列之十三
  10. 浏览器兼容性检查从5.5到11的Internet Explorer版本_IETester
  11. python爬虫淘宝评论图片_淘宝上的图片是怎么被爬取的
  12. FPGA 20个例程篇:7.FLASH读写断电存储
  13. 【原】豆瓣电台桌面版插件开发——搜索插件
  14. 基于Vue和Node.js的电商后台管理系统
  15. 暄桐教练日课·21天《灵飞经》报名啦
  16. 树莓派Remote GPIO启用方法
  17. 黑帽实战 | 给大家讲讲一个二类电商的大佬的故事!
  18. 【技术点】数据结构--B树系列之B+树(五)
  19. quick-cocos2d-x 飞机大战(打飞机)小demo教程------主角飞机类
  20. 粒子群算法的matlab实现

热门文章

  1. 第0周作业2:博客阅读和思考
  2. Python:IndentationError: unexpected indent
  3. 【零基础学习iOS开发】【02-C语言】05-进制
  4. vs/c++缓冲区溢出,未初始化变量检查
  5. ISA Server 2004 0x80004005错误
  6. 笛卡尔乘积算法的体现
  7. dropload.js无限刷新解决方案
  8. Missing binding node_modules/node-sass/vendor/darwin-x64-72/binding.node
  9. Android 底部上拉抽屉view
  10. hapi 获取 请求地址 url