浅谈我的编程之路——感谢引领我的leader
在开发的道路上,就始终无法避开版本控制,哪怕你是独自一人进行开发,版本控制也是有必要的,从最早开始使用CVS,到后来使用SVN,再到git,最后又回到了SVN,但是不知道为什么真的对SVN很无爱。
现在工作的地方,使用的是SVN,我每天都得把自己修改过的文件单独的提出来,然后以相同的目录路径打包好,然后提交到测试版本库目录下,然后再交由其他人用ftp对服务器上的文件进行覆盖
然而每天这样创建对应的目录创建文件都已经快把我逼疯了,幸好我自己写了一个脚本来自动的执行这个过程,但那是在我忍受了一星期那样繁琐而枯燥的工作之后,然后我不禁想起了当初使用git工具自动同步的更新代码的时光。每次写完代码之后,执行一下git commit 和git push命令,然后瞬间就同步到服务器了,也正是这种简单的过程,让我喜欢上了测试。
这里我不得不介绍一下我的第一位BOSS---ES,我觉得是他帮我打开了这个领域的大门,他曾经一直反复的强调的习惯,依然响彻在我的耳边,尤其是在最近反复的看 了《The Progmatic Programmer》和《重构》,我越来越能感受到他当时的想法,是他让我在无意识的养成一些优秀程序员所应该具有的品质
他没有告诉我该使用面向对象还是面向过程,而是直接让我学会使用设计模式
他没有告诉我,我应该学会使用什么框架,而是直接告诉我,框架只是告诉你不该做什么,而不是能做什么
他从来不去看我写的代码,只是反复的告诉我,千万不要重复你自己
遇到难题的时候,他不会告诉我应该去什么地方寻找资料,仅仅说了一句简单的话:使用英文
他总是的强调着,要做一个挑剔的程序员,不管是对自己的程序还是对生活
他说,开发的过程应该是一种享受,而不是一种枯燥而又反复的繁琐过程,
他喜欢用双屏显示器,喜欢用linux操作系统
或许他不是一个好领导,但是我觉得他是一个优秀的程序员
虽然当时我不能很好的理解他,但是现在我能够感受到他那种厌恶重复的心情
学会使用git,拥抱github,融入bitbucket,告别不断覆盖文件的噩梦,Webhooks可以让你在使用git push的时候,请求bitbucket的webhooks去调用服务器上的.php文件,发送linux的shell命令去git pull远程仓库的代码,达到同步更新
我是一个懒惰的程序员,我只想告别重复,放飞思绪!
浅谈我的编程之路——感谢引领我的leader的更多相关文章
- 浅谈.Net异步编程的前世今生----APM篇
前言 在.Net程序开发过程中,我们经常会遇到如下场景: 编写WinForm程序客户端,需要查询数据库获取数据,于是我们根据需求写好了代码后,点击查询,发现界面卡死,无法响应.经过调试,发现查询数据库 ...
- 浅谈.Net异步编程的前世今生----EAP篇
前言 在上一篇博文中,我们提到了APM模型实现异步编程的模式,通过使用APM模型,可以简化.Net中编写异步程序的方式,但APM模型本身依然存在一些缺点,如无法得知操作进度,不能取消异步操作等. 针对 ...
- [转帖]浅谈响应式编程(Reactive Programming)
浅谈响应式编程(Reactive Programming) https://www.jianshu.com/p/1765f658200a 例子写的非常好呢. 0.9312018.02.14 21:22 ...
- 浅谈Windows API编程
WinSDK是编程中的传统难点,个人写的WinAPI程序也不少了,其实之所以难就难在每个调用的API都包含着Windows这个操作系统的潜规则或者是windows内部的运行机制…… WinSDK是编程 ...
- 浅谈PHP面向对象编程(二、基础知识)
和一些面向对象的语言有所不同,PHP并不是一种纯面向对象的语言,包PIP它支持面向对象的程序设计,并可以用于开发大型的商业程序.因此学好面向对象输程对PHP程序员来说也是至关重要的.本章并针对面向对象 ...
- 浅谈C#网络编程(一)
阅读目录: 基础 Socket编程 多线程并发 阻塞式同步IO 基础 在现今软件开发中,网络编程是非常重要的一部分,本文简要介绍下网络编程的概念和实践. Socket是一种网络编程接口,它是对传输层T ...
- 五 浅谈CPU 并行编程和 GPU 并行编程的区别
前言 CPU 的并行编程技术,也是高性能计算中的热点,也是今后要努力学习的方向.那么它和 GPU 并行编程有何区别呢? 本文将做出详细的对比,分析各自的特点,为将来深入学习 CPU 并行编程技术打下铺 ...
- 新手浅谈Task异步编程和Thread多线程编程
初学Task的时候上网搜索,看到很多文章的标题都是task取代thread等等相关,我也一直以为task和thread是一类,其实task是.net4.0提出的异步编程,在之前.net1.0有dele ...
- 浅谈iOS网络编程之一入门
计算机网络,基本上可以抽象是端的通信.实际在通讯中会用到不同的设备,不同的硬件中,为了能友好的传输信息,那么建立一套规范就十分必要了.先来了解一些基本概念 了解网络中传输的都是二进制数据流. 2.了 ...
随机推荐
- 淘宝(阿里百川)手机客户端开发日记第十篇 阿里百川服务器环境介绍之API文档的快速链接(四)
个人感觉比较重要的快速链接: http://open.taobao.com/doc/detail.htm?id=102513 http://open.taobao.com/doc/detail.htm ...
- << CocoaPods安装和使用教程 >>github code4app以及cocoachina 苹果官方文档
developer.apple.com 英文搜索各个技术的官方介绍文档, 前提是英文过关 cocoachina ios最新新闻, 信息 code4app上有许多组件 http://www.code4a ...
- Inorder Successor in Binary Search Tree
Given a binary search tree (See Definition) and a node in it, find the in-order successor of that no ...
- Android学习笔记(九)——布局和控件的自定义
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! View是 Android中一种最基本的 UI组件,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件 ...
- Java工程为什么要加一个biz层
biz是Business的缩写,实际上就是控制层(业务逻辑层).解释:控制层的主要作用就是协调model层和view层直接的调用和转换.能够有效的避免请求直接进行数据库内容调用,而忽略了逻辑处理的部分 ...
- zabbix之MySQL数据库的安装
转载自:http://www.ttlsa.com/mysql/install-mysql5_6/ 启动MySQL并制定套接字 mysql -u user -ppassword -S 指定socket路 ...
- 2.2---找链表倒数第K个结点
答案,注意,一种是递归,另一种是迭代,那么巧妙利用双指针: 迭代: public static LinkedListNode nthToLast(LinkedListNode head, int n) ...
- c语言——gcc,make,vim
在linux环境下进行c语言编程,基础的工具就是gcc和make.关于这2个工具的内容有很多,现在要做的仅仅是起步. gcc的用法: -S Compile only; do not assemble ...
- struts2 action 3中书写方式
1.pojo类 简单的javabean 类 需要有 public String execute(){return null;} 2.实现 Action 借口 重写 execute 3.继承 Ac ...
- c#图片输出
1: Response.BinaryWrite() 其实就是和输出文字一样 只是图片是流的形式; delegate long myDel(int first, int second); FileSt ...