关注的就是别人的程序设计风格

  对于我来说, 相当关注的就是别人的程序设计风格, 越是刚进入一个领域, 就越在乎和我使用的框架/工具箱的风格保持统一. 哪怕这个风格和我的习惯抵触的很厉害. 因为只有你象他那样做, 你才能做到真正的象他那样想. 当然, 针对"C#是否提供操作符重载"这类问题, 我们要关注的不仅仅是程序设计风格, 更多的是语言设计的理念这些问题. 平时在自己的领域之外, 多关心一下这些问题, 我们不需要实现自己的语言, 也可以逐步的练就熟悉环境的能力. 比如, 一个以类为依托的语言, 提供的特性肯定是一篮子, 这些篮子里一般都会有什么, 这个概念就必须有.

  在一个完全陌生的领域, 经过锻炼, 可以把这个Clone期(Clone的是人家身上那股子劲儿), 控制在半个月左右. 过了这半个月, 爱怎么写程序, 就可以怎么写了; 不过恐怕这时候咱们已经进入状态, 除非是特别费时的习惯, 其它的宁愿和咱们Clone的对象保持统一, 而不愿意再改了. 在这里需要注意的一个重点是: 也许你的问题, 和你所使用的框架和工具箱的设计及使用方式, 是格格不入的, 但确实这个第三方的东西又能大幅增加你的效率; 这时候你就要花点时间, 对你的大脑和具体实现做些Adpater了.

  我觉得这样的学习和进步的方式, 最大的好处是, 同样的脑力, 获得了更多的东西; 同样的时间, 以"不知道"的方式, 就覆盖更多的内容. 不知道大家看过那些什么16kb展现一个带纹理的3D场景的DEMO没有? 其实道理是相似的, 只是如果3D游戏都那么优化, 反而要花费大量的时间和精力, 这是因为, 对于场景, 纹理, 这些东西, 变化太多, 无法归纳出一个或几个普遍的规律. 而我们人类做事的方式确是可以总结的: 除非是神经病, 否则对于一个人和一类问题来说, 做对的方式一共就那几种.

  我们要看到, 人的特征是, 超频容易, 同时人的CPU组属于可编程的硬件, 而且比现在稍微具备类似功能的显卡要强得多: 我们可以针对各种各样的问题对我们的CPU进行优化, 提供捷径, 这就仿佛可以通过编程手段增加MMX/SSE/3DNOW!, 而且可以无限制的扩展. 但是我们的内存却极其有限, 而且我们的机箱太硬: 当然, 即使打开它, 也未必有内存插槽. 不过如果你要是一个过目不忘的家伙, 那么我应该在文章开头提示你点击右上角的x的; 现在只能对你表示强烈抱歉, 以及更多的嫉妒了.

  说到底, 在你不可能用到什么重载的时候, 你就不需要关注它; 你只要知道它和它的一帮可能给你造成障碍或帮助的兄弟在那儿, 同时知道干掉它们或驱使它们的秘籍在哪儿得到, 也许还需要知道怎么去拿这个秘籍, 和使用秘籍的几种咒语. 但是, 就像我们设计软件的原则一样, 相比具体问题, 这些能力是可以大规模的重用的.

  这就好比玩星际或者魔兽时, 速抄(谁理解这个词? 你们那习惯上怎么叫的?)的话, 当一局结束时, 一般来说一个地图上大多数地方是还是黑的. 当然, 如果是开分矿, 搞堆兵的主儿, 最后地图基本全亮了. 不过我们需要注意的是, 当你的单位不在一个已经探过的地方时, 那里还是罩着战争迷雾. 但这不要紧, 只要你会"探路". 很显然, 不会"探路"的人, 无论他掌握多少极其牛B的技巧, 也不可能赢.

  当然, 和"探路"相似和同样必要的技能还有很多, 这里只是拿它做一个代表符号. 我们需要注意到一个现象: 相比一个知道如何造奇美拉或大核的人, 一个在C&C中会"探路"的家伙, 经常玩个几天, 还没有记住各种数据, 就可以开始狂菜前者了. 不要和我说Grrrr或者谁谁数据记得也很熟: 毕竟, 他们需要处理的细节是有限的, 在这方面吃亏不值得; 而生活和软件构件工作中则不是. 这又是一个如何进行选择和交换的问题, 处理这个问题的能力, 是基础之中基础.

昆明天伦妇产医院

时间: 2025-01-19 22:36:32

关注的就是别人的程序设计风格的相关文章

让别人的程序按自己的意愿运行

小白:小程,你知道有些iOS程序是没人性的吗?老是不按我的意愿来运行! 小程:我怎么知道你的意愿就是有人性的? 本文解决一个问题:修改别人的二进制程序并运行起来. 让别人的程序按你的意愿来运行,文明一点的做法就是拿到源码后加上自己的修改再生成新的程序并安装. 小白:哇,这句话好长,你能一口气说完吗? 但是,很多情况下我们是没有源码的,那怎么办呢? 一个办法是把程序的指令或者数据改掉:另一个办法是让程序执行到自已的代码上,再把流程或内存值给改掉.最终,让程序按自己的想法来运作. 小白:还能让程序执

程序设计风格_笔记

1. 不要把变量定义放入.h文件,这样容易导致重复定义错误. 2. 尽量使用static关键字把变量定义限制于该源文件作用域,除非变量被设计成全局的. 只在本文件使用的变量用static定义,除非在其它文件也使用.所以有些变量用static,代表只在该文件内使用. 3. 可以在头文件中声明一个变量,在用的时候包含这个头文件就声明了这个变量. 4.如果宏想要提供给别的程序调用,那么写到.h里面,如果只是在本文件中使用,那么就写到.c里面

《程序是给自己看的还是给别人看的》

不知道各位程序员有没有用自己的姓名的拼音字母作为文件目录名或程序名的经历.从我对此观察来看,很多人都是这样做的.他们为什么这样做?我发现除了这样做可以醒目地找到目录和文件之外,更重要的是反应了程序员的私有性,他强调了程序的私有.我们常常会发现有一个有趣的现象:程序员从不主动地把自己程序给其他程序员去阅读(除非上级要求.工作移交),程序员也不想看别人的程序,抱怨看不懂别人的程序!程序员读不到别人的程序,程序员不想将程序给别人看-〉程序员就得不到别人对程序意见-〉程序员就不会改进程序的可阅读性-〉程

【Python scrapy+selenium】登录你的CSDN账号,然后去给别人点关注 -- 2019-08-08 18:01:30

原文: http://106.13.73.98/__/147/ 你别搞混了,这里是用自己的账号给别人点关注,你要是想刷关注量,就看别人回不回你了. 爬虫文件 import scrapy import os import re import json from selenium import webdriver # pip install selenium from selenium.webdriver.chrome.options import Options # 谷歌无头浏览器(就是后台运行)

【Python scrapy+selenium】登录你的CSDN账号,然后去给别人点关注 񞀇

原文: http://blog.gqylpy.com/gqy/371 "你别搞混了,这里是用自己的账号给别人点关注,你要是想刷关注量,就看别人回不回你了. 爬虫文件 import scrapy import os import re import json from selenium import webdriver # pip install selenium from selenium.webdriver.chrome.options import Options # 谷歌无头浏览器(就是后

让你提前认识软件开发(46):首先是为人编写程序,其次才是计算机

第3部分 软件研发工作总结 首先是为人编写程序,其次才是计算机 "首先是为人编写程序,其次才是计算机",这是软件开发的基本要点,软件的生命周期贯穿于产品的开发.测试.生产.发布.用户使用.版本升级和后期维护等长期过程中,只有易读.易维护的软件代码才具有生命力. 在实际的软件开发过程中,可能是由于工作很忙的原因,很多开发人员只注重实现程序的基本功能,而忘记了编程规范,因此写出来的代码只能让计算机看懂,人要看懂很不容易.更有甚者,有些项目组为了赶进度,明确要求组员以实现产品功能为主,代码能

程序员到项目经理:从内而外的提升

转自:http://www.cnblogs.com/watsonyin/archive/2012/09/10/2679528.html 目录 从程序员到项目经理(一):为什么要当项目经理 从程序员到项目经理(二):升职之辨 从程序员到项目经理(三):认识项目经理 从程序员到项目经理(四):外行可以领导内行吗 从程序员到项目经理(五):程序员加油站,不是人人都懂的学习要点 从程序员到项目经理(六):程序员加油站 — 懂电脑更要懂人脑 从程序员到项目经理(七):程序员加油站 — 完美主义也是一种错

一个优秀的程序员所具备的14个品质【转载】

慎于说Yes 在没有搞清楚开发需求.任务工作量.团队期望值之前,有前途的程序员不会轻易答应.特别是对于新人来说,比较急于表现自己,对于同事或者老板的工作安排来者不拒,精神可嘉,方法不可取.承诺太多,会出现自己无法按时完成的情况,即使按时完成,也可能没有达到别人的期望值,长期以往别人对你的失望会越来越多. 敢于说No 看起来和第一条雷同,其实细究起来不一样.第二条执行起来比第一条难得多.当遇到明显不合理的要求时,可以考虑拒绝,前提是准备好了全面充分的理由.不要经常说No,但是一旦说了,就要切中要害

从程序员到项目经理

“从程序员到项目经理”,这个标题让我想起了很久以前一本书的名字<从Javascript到Java>.然而,从Javascript到Java充其量只是工具的更新,而从程序员到项目经理,却是一个脱胎换骨的过程.从Javascript到Java,是一个取巧的方法:而从程序员到项目经理,却并无捷径可走,必须从内而外的改变和提升. 一.为什么要当项目经理 1. 问题本质 如果我对一个老程序员说:“有必要转项目经理啦”,很多人第一反应是“为什么一定要当项目经理?!”,反问很给力,基至会让人哑口无言.但反问