编程学习

开发阶段总结

爱⌒轻易说出口 提交于 2019-12-02 22:10:58
开发的关键点在于学习,学习可以说是在任何行业永恒的话题,学习什么?如何去学习?就编程而言,学习最终是为了应用,首先要学习到这种应用,然后学习其如何应用,再学为何能这样应用,最后学如何建立或者(根据需要)更改这种应用。 假设你想学习一个开源项目,首先要了解该项目应用的工作机制,熟悉其业务逻辑,懂得其业务核心在哪里,业务边界在哪里,什么地方正常使用无问题,什么地方正常使用可能有问题(所谓的‘坑’),什么地方在某种情况下使用必有问题等等。 然后需要了解其组成原理,即是代码组成。在对代码工作目的充分了解的前提下,从代码源头找起(方法调用部分),学会单元测试,对代码相关位置进行功能验证,对其相应功能分别进行深入,慢慢排除模块干扰(一般来说,为了提高项目的可维护性,都会将模块进行划分,以至于相应的功能具体实现被划分模块的代码掩盖),同时学习该模块的建设,积累经验 最后最终的目的自然是要根据需要更改此项目(或者不需要更改,但最好能有更改的能力,一般项目应用范围难以保证一定在业务需求之内),假设前两点都能正常完成,那么我对于该项目的各个功能的应用点、边界问题、架构划分、具体实现应该有了一定的了解,通常情况下,为了降低功能及模块的耦合度,项目功能的具体实现都是边界狭隘的单面功能,一般边界在一个任务的范围内,如果业务需求要求更改相关具体实现,应该从调用者处改起(不能改变单面功能的实现

如何高效利用GitHub(转)

本小妞迷上赌 提交于 2019-12-02 06:05:41
正是Github 正是Github,让社会化编程成为现实。本文尝试谈谈GitHub的文化、技巧与影响。 Q1:GitHub是什么 Q2:GitHub风格 Q3: 在GitHub,如何跟牛人学习 Q4: 享受纯粹的写作与演讲 Q5: 代码帮你找工作 Q6: GitHub还在影响一些什么 Q7: 除了GitHub,还可以选择什么? Q1:GitHub是什么 A1:一家公司 位于旧金山,由 Chris Wanstrath , PJ Hyett 与 Tom Preston-Werner 三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。 在此之前,它是由 Tom 与 Chris 在本地程序员聚会中,开始的一个用于托管git的项目。正如每个伟大的传奇都开始于一场冒险,Tom在这篇文章 我如何辞掉微软30万年薪邀约,创办GitHub 中谈到: 当我老去,回顾一生,我想说,“哇,那是一场冒险“;而不是,“哇,我真的很安稳。“ 另一位创始人 Chris 也详细描述了 GitHub初创的前因后果 ,他说道: Do whatever you want. 于是,在2008年4月10号这一天,GitHub正式成立。 目前看来,GitHub这场冒险已经胜出。根据来自 维基百科关于GitHub的描述 ,我们可以形象地看出GitHub的增长速度: 今天,GitHub已是:

写代码也有“套路”-谈谈设计模式

与世无争的帅哥 提交于 2019-11-27 07:35:37
编程教室开了这么久,已经有很多人从完全零基础的小白成为了会写代码的菜鸟程序员,能够自己独立开发程序。不过到此阶段,常常会遇到瓶颈,感觉功能可以实现,但代码看起来有些别扭: 代码中有很多相似的重复代码 代码中有大量的 if,以至于有很长的缩进 单个代码写得很长,别人很难看懂,过阵子可能自己都看不懂 总会有没有考虑到的情况导致 bug 修复一个 bug 又会产生新的 bug 单个功能可以实现,但多个功能组合在一起就理不清 如果需求发生变动,代码修改起来很麻烦 有多种实现方式时不知道该用哪一种 很难和其他人协作开发 上述的问题你是不是有过类似困扰?解决的办法其实也简单,就是坚持“ 多写 ”和“ 多读 ”: 多写代码。很多时候你觉得不好处理,并不是因为高深的问题,只是你对代码的基本使用还不够熟练。同样的问题,踩过坑再爬出来,反复几次自然你也知道怎么绕开了。 多读代码。除了自己写,看看别人的代码也会学到很多。包括教程里的案例、官方示例、开源项目的源码等。所谓“熟读唐诗三百首,不会作诗也会吟”嘛。 除了这两个“笨办法”外,还有样东西,对于处在这个阶段的你或许有很大启发,这就是: 设计模式 设计模式是对于软件开发中常见的一些问题所总结出的解决方案,它并不关注具体的代码怎么写,而是 代码的结构应该如何设计 ,从而让代码 更加可靠、可读、可重用、易于维护 。它不是一种严格意义上的“技术”,而是一门