专栏名称: 程序员技术
最有影响力的程序员自媒体,关注程序员相关话题:程序人生、IT技术、IT职场、学习资源等。
目录
相关文章推荐
程序员小灰  ·  这个大神级开源社区,你了解吗? ·  2 天前  
程序猿  ·  完美解释了递归,哈哈哈哈 ·  5 天前  
程序员小灰  ·  中国四大软件外包公司 ·  6 天前  
51好读  ›  专栏  ›  程序员技术

一种绝对提高开发水平的方法

程序员技术  · 公众号  · 程序员  · 2017-05-11 19:44

正文

来自:张果 - 博客园

链接:www.cnblogs.com/best/p/6589908.html



目录

  • 一、概要

  • 二、常用单词

    • 2.1、初级单词

      •  第一节

      •  第二节

      • 第三节

      • 第四节

      • 第五节

      • 第六节

      • 第七节

      • 第八节

      • 第九节

      • 第十节

      • 第十一节

      • 第十二节

      • 第十三节

      • 第十四节

      • 第十五节

      • 第十六节

    • 2.2、高级部分

  • 三、《Java语言程序设计》书中单词频率排行

  • 四、常见异常与错误翻译

    • 4.1、java中

    • 4.2、.NET中

  • 五、学习软件推荐

    • 5.1、百词斩 APP

    • 5.2、滴答双语阅读 APP

    • 5.3、新东方背单词

  • 六、提高英文水平的建议与资源

    • 6.1、提高英文水平的个人建议

    • 6.2、翻译与双语视频字幕网站

    • 6.3、双语电影

    • 6.4、用听的学英语与背单词

  • 七、下载


一、概要


英语对提升软件开发水平非常重要。


如果你英文水平不高,这并不影响你成为一个普通程序员,程序更多是靠逻辑思维。

如果做了多年开发的你发现自己的水平一直上不去,你可能要提高自己的英文水平了,英语就是你技术的瓶颈,对有些人可能是硬伤。


我周围的高水平的开发者英文都不差,官方API,专业英文资料、书籍没问题,代码质量也明显也高许多(比如说命名)。


英语是世界上使用最广泛的语言之一,是欧盟、许多国际组织与英联邦国家的官方语言之一。如今英语也是与电脑联系最密切的语言,大多数编程语言都与英语有关系。

英语在软件行业、编程世界里都占有压倒性的优势,它能够帮助人们在关键词和代码库的选择上带来灵感。根据HOPL编程语言在线数据库的统计,全球有8500种以上的编程语言,大概2400种起源于美国,600种是在英国发展起来的,160种是来自加拿大的,75种是在澳大利亚发展起来的。换句话说,世界上三分之一以上的编程语言是在以英语为母语的国家发展起来的。可见,英语在编程语言里是多么的重要。


计算机相关的书籍质量英文原版明显高于中文版。


看中文文档肯定比都英文方便,节省时间,但软件的主流技术是在国外,这种对翻译依赖使许多程序员失去获取第一手资料的宝贵机会。


在日常中大量阅读英文书籍和资料是提高计算机英语水平的最佳途径。目前市场上大量的计算机原版影印图书为我们提供绝好的机会,阅读英文计算机图书一开始是啃的感觉,比较费时费力,对于英文基础不是很好的人,来说应该是相当艰苦的,但是我们要是要去做,对于不太好的地方,不妨拿起笔来逐行逐字的翻译出来,这对英语水平的提高很有帮助


一般完整阅读2-3本原版书籍以后,你就能发现读原版的乐趣,并受益终生


我的英文水平很一般,但我坚持学习,最近我同事“David”(又称军爷:)向我推荐了一本比较适合阅读的英文原版计算机书籍《Object-Oriented-JavaScript》,翻译过来是"JavaScript面向对象编程",有翻译稿与原版:



本书有第二版了。



上面是David翻译的,非常棒。


二、常用单词


2.1、初级单词


第一节


void:[vɔid] 空的

main:[mein] 主要的

class:[klɑ:s] 类

system:['sistəm] 系统

out:[aut] 出,外,输出

print:[print ] 打印

public['pʌblik] 公共的,公用的

static['stætik] 静的;静态的;静止的

oracle: [ˈɔ:rəkl] 甲骨文公司

eclipse:[i'klips] java编程软件


 第二节


int:[int] 整型

char:[tʃɑ:] 字符型

scanner:['skænə] 接收输入,扫描器

integer:['intidʒə]整数 整型

type:[taip]类型

string:[striŋ] 字符串类型

double:['dʌbl] 双精度浮点型


第三节


boolean:['bu:li:ən] 布尔类型真假二值

true:[tru:]真

false:[fɔ:ls]假 不正确的

if:[if] 如果

else:[els] 否则

break:[brek] 打破,跳出


第四节


case:[keis] 情况,实例

default:[di'fɔ:lt] 默认

switch:[switʃ] 开关,切换

break:[breik] 退出

match:[mætʃ] 匹配

exception:[ik'sepʃən] 异常

equals:['i:kwəls] 相等


第五节


while:[hwail] 当什么时候,常作循环

index:['indeks] 索引

bug:[bʌg] 缺陷

debug:[di:'bʌg] 调试

step:[step] 步骤

error:['erə] 错误

answer:['ɑ:nsə] 答案 回答


第六节

rate:[reit] 比率

young:[jʌŋ] 年轻的

customer:['kʌstəmə] 顾客 买主

birthday:['bə:θdei] 生日

point:[pɔint] 分数 得分 点

continue:[kən'tinju:] 继续、进入到下一个循环

return:[ri'tə:n] 返回

total:['təutl] 合计、总人数,,全体的


第七节


array:[ə'rei] 数组

length:[leŋθ] 长度

sort:[sɔ:t] 分组 排序

primitive:['primitiv] 初始的 简单的

reference:['refərəns] 参照 证明 关系

info:['infəu] 通知 报告 消息

interface:['intəfeis] 接口


第八节


random:['rændəm] 随机

insert:[in'sə:t] 插入 嵌入

compare:[kəm'pɛə] 比较 对照

ignore:[ig'nɔ:] 忽视 不理会

invert:[in'və:t] 使转位 倒转

password:['pɑ:swə:d] 密码 口令


第九节


bit:[bɪt] 位,0或1

byte:[baɪt] 字节,8个bit

put:[pʊt] 放

log:[lɔ:g] 日志

show:[ʃoʊ] 展示,显示


第十节


change:[tʃeindʒ] 交换 互换

administrator:[əd'ministreitə] 管理员

initial:[i'niʃəl] 开始的、最初的

class:[klɑ:s] 类

object:['ɔbdʒikt] 物体 对象

encapsulation:[in,kæpsju'leiʃən] 封装

null:[nʌl] 空的


第十一节


person:['pə:sn] 人

start:[stɑ:t] 开始

menu:['menju:] 菜单

login:[lɔg'in] 登陆

main:[mein] 主要的

document:['dɔkjumənt] 文档

display:[di'splei] 显示

method:['meθəd] 方法 条理

version:['və:ʃən] 版本

parameter:[pə'ræmitɚ] 参数

since:[sins] 自…..之后

calculator:['kælkju,leitə] 计算器


第十二节


shape:[ʃeip] 形状

open:[əup] 打开

date:[deit] 日期

operate:['ɔpə,reitə] 操作

protect:[prə'tekt] 保卫 护卫

private:['praivit] 私人的 私有的


第十三节


manage:['mænidʒ] 控制,管理

search:[sə:tʃ] 搜寻 查找

upper:['ʌpə] 上面的


第十四节


equal:['i:kwəl] 相等的

ignore:[ig'nɔ:] 忽视 驳回

lower:['ləuə] 较低的 下部的

last:[lɑ:st] 最后的

trim:[trim] 裁切

concatenate:[kɔn'kætineit] 使连锁 连成一串 使连接

buffer:['bʌfə] 缓冲

final:['fainl] 最后的 最终的


第十五节


定义变量中常用的单词

score:[skɔ:]成绩

price:[prais]价钱

test:[test]实验,测试

demo:['deməu]示例

sum:[sʌm] 和

num:[nʌm] 数字

height:[hait] 身高

weight :[weit] 体重

music:['mju:zik] 音乐

computer:[kəm'pju:tə] 电脑

student:['stju:dənt] 学生

total:['təutl] 总计的,总括的,全体的


第十六节


max 最大的

min 最小的

avg 平均分

Add 加

Minus 减

multiply:['mʌltiplai] 乘

divide:[di'vaid] 除

Monday:['mʌndei] 星期一

Tuesday:['tju:zdi] 星期二

Wednesday:['wenzdi] 星期三

Thursday:['θə:zdi] 星期四

Friday:['fraidi] 星期五

Saturday:['sætədi] 星期六

Sunday:['sʌndi] 星期日

月份+缩写

一月:January Jan.

二月:February Feb.

三月:March Mar.

四月:April Apr.

五月:May –

六月:June –

七月:July –

八月:August Aug.

九月:September Sept.

十月:October Oct.

十一月:November Nov.

十二月:December Dec


2.2、高级部分



最后,下载区可以下到Excel文件。


三、《Java语言程序设计》书中单词频率排行


使用工具软件可以把一本电子档中的单词全部提取出来,并分析其出现频率,如:



下面是我分析一本电子书的单词:

四、常见异常与错误翻译


4.1、java中

//算术异常   
ArithmeticExecption   //空指针异常类  
NullPointerException   //类型强制转换异常  
ClassCastException   //数组负下标异常  
NegativeArrayException   //数组下标越界异常  
ArrayIndexOutOfBoundsException   //违背安全原则异常  
SecturityException   //文件已结束异常  
EOFException   //文件未找到异常  
FileNotFoundException   //字符串转换为数字异常  
NumberFormatException   //操作数据库异常  
SQLException   //输入输出异常  
IOException   //方法未找到异常  
NoSuchMethodException   //抽象方法错误,当应用试图调用抽象方法时抛出   java.lang.AbstractMethodError   //断言错误,用来指示一个断言失败的情况  
java.lang.AssertionError   //类循环依赖错误,若检测到类之间循环依赖则抛出该异常  
java.lang.ClassCircularityError   //类格式错误  
java.lang.ClassFormatError   //错误基类,标识严重程序运行问题,不应被应用程序捕获的反常情况  
java.lang.Error   //非法访问错误,违反域或方法的可见性声明  
java.lang.IllegalAccessError   //不兼容的类变化错误,当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常  
java.lang.IncompatibleClassChangeError   //实例化错误,构造一个抽象类或者接口时抛出该异常  
java.lang.InstantiationError   //内部错误  
java.lang.InternalError   //链接错误  
java.lang.LinkageError   //未找到类定义错误,找不到该类的定义时抛出该错误  
java.lang.NoClassDefFoundError   //域(成员变量,字段)不存在错误  
java.lang.NoSuchFieldError   //方法不存在错误  
java.lang.NoSuchMethodError   //内存不足错误  
java.lang.OutOfMemoryError   //堆栈溢出错误,如递归调用的层次太深  
java.lang.StackOverflowError   //线程已结束  
java.lang.ThreadDeath   //未知错误  
java.lang.UnknownError   //未满足的链接错误  
java.lang.UnsatisfiedLinkError   //不支持的类版本错误  
java.lang.UnsupportedClassVersionError   //验证错误  
java.lang.VerifyError   //虚拟机错误  
java.lang.VirtualMachineError   //算术条件异常,如整数除零  
java.lang.ArithmeticException   //数组索引越界异常  
java.lang.ArrayIndexOutOfBoundsException   //数组存储异常,存放非数组声明类型  
java.lang.ArrayStoreException   //类型转换异常  
java.lang.ClassCastException   //找不到类异常  
java.lang.ClassNotFoundException   //克隆不支持异常,如没有实现Cloneable接口  
java.lang.CloneNotSupportedException   //枚举常量不存在异常  
java.lang.EnumConstantNotPresentException   //根异常  
java.lang.Exception   //非法访问异常  
java.lang.IllegalAccessException   //非法的监控状态异常  
java.lang.IllegalMonitorStateException   //非法的状态异常  
java.lang.IllegalStateException   //非法的线程状态异常  
java.lang.IllegalThreadStateException   //索引越界异常  
java.lang.IndexOutOfBoundsException   //实例化异常  
java.lang.InstantiationException   //被中断异常  
java.lang.InterruptedException   //数组大小为负值异常  
java.lang.NegativeArraySizeException   //属性不存在异常,当访问某个类的不存在的属性时抛出该异常  
java.lang.NoSuchFieldException   //方法不存在异常  
java.lang.NoSuchMethodException   //空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常  
java.lang.NullPointerException   //数字格式异常  
java.lang.NumberFormatException   //运行时异常  
java.lang.RuntimeException   //安全异常  
java.lang.SecurityException   //字符串索引越界异常  
java.lang.StringIndexOutOfBoundsException   //类型不存在异常  
java.lang.TypeNotPresentException   //不支持的方法异常  
java.lang.UnsupportedOperationException   //Jsp页面异常  
javax.servlet.jsp.JspException   //JSP引擎解析异常  
org.apache.jasper.JasperException   //Servlet异常  
javax.servlet.ServletException   //对象已被删除异常  
org.hibernate.ObjectDeletedException

4.2、.NET中

System.Exception   //所有异常的基类型   
System.ApplicationException   //发生非致命应用程序错误时引发的异常  
System.SystemException   //为System命名空间中的预定义异常定义基类  
System.SystemException   //异常根类  
System.AccessViolationException   //在试图读写受保护内存时引发的异常  
System.ArgumentException   //在向方法提供的其中一个参数无效时引发的异常  
System.Collections.Generic.KeyNotFoundException   //指定用于访问集合中元素的键与集合中的任何键都不匹配时所引发的异常  
System.IndexOutOfRangeException   //访问数组时,因元素索引超出数组边界而引发的异常  
System.InvalidCastException   //因无效类型转换或显示转换引发的异常  
System.InvalidOperationException   //当方法调用对于对象的当前状态无效时引发的异常  
System.InvalidProgramException   //当程序包含无效Microsoft中间语言(MSIL)或元数据时引发的异常,这通常表示生成程序的编译器中有bug  
System.IO.IOException   //发生I/O错误时引发的异常  
System.NotImplementedException   //在无法实现请求的方法或操作时引发的异常  
System.NullReferenceException   //尝试对空对象引用进行操作时引发的异常  
System.OutOfMemoryException   //没有足够的内存继续执行程序时引发的异常  
System.StackOverflowException   //挂起的方法调用过多而导致执行堆栈溢出时引发的异常  
System.ArgumentException   //参数异常   System.ArgumentNullException   //当将空引用传递给不接受它作为有效参数的方法时引发的异常  
System.ArgumentOutOfRangeException   //当参数值超出调用的方法所定义的允许取值范围时引发的异常  
System.ArithmeticException   //算术异常  
System.DivideByZeroException   //试图用零除整数值或十进制数值时引发的异常  
System.NotFiniteNumberException   //当浮点值为正无穷大、负无穷大或非数字(NaN)时引发的异常  
System.OverflowException   //在选中的上下文中所进行的算数运算、类型转换或转换操作导致溢出时引发的异常  
System.IOException   //派生的异常类型  
System.IO.DirectoryNotFoundException   //当找不到文件或目录的一部分时所引发的异常  
System.IO.DriveNotFoundException   //当尝试访问的驱动器或共享不可用时引发的异常  
System.IO.EndOfStreamException   //读操作试图超出流的末尾时引发的异常  
System.IO.FileLoadException   //当找到托管程序却不能加载它时引发的异常  
System.IO.FileNotFoundException   //试图访问磁盘上不存在的文件失败时引发的异常  
System.IO.PathTooLongException   //当路径名或文件名超过系统定义的最大长度时引发的异常  
ArrayTypeMismatchException   //试图在数组中存储错误类型的对象  
BadImageFormatException   //格式错误异常,如32位应用访问64位系统Dll引起  
DivideByZeroException   //除零异常  
DllNotFoundException   //找不到引用的dll  
FormatException   //参数格式错误  
MethodAccessException   //试图访问私有或者受保护的方法  
MissingMemberException   //访问一个无效版本的dll  
NotSupportedException   //调用的方法在类中没有实现  
PlatformNotSupportedException   //平台不支持某个特定属性时抛出该错误  
ArgumentException    //参数异常  
ArgumentNullException   //空参数异常  
ArgumentOutOfRangeException   //参数值超出范围    
ArithmeticException   //算术异常  
ArrayTypeMismatchException   //类型不匹配异常  
IndexOutOfRangeException    
//索引超出范围异常  
InvalidcastException   //不正确的类型转换异常    
InvalidOperationException    
//不正确的操作异常  
MethodAccessException   //方法访问异常  
MissingMemberException   //丢失成员异常  
NotFiniteNumberException   //无穷大数字异常  
NotSupportedException   //操作不支持异常  
NullReferenceException   //空引用异常,如调用没有实例化的对象的成员  
OutOfMemoryException   //内存空间不够  
PlatformNotSupportedException   //平台不支持某个特定属性时抛出该错误    
StackOverflowException   //堆栈溢出  
plain

五、学习软件推荐


5.1、百词斩 APP


百词斩是由成都超有爱科技有限公司针对英语学习开发的一款“图背单词软件”。软件为每一个单词提供了趣味的配图和例句,让记单词成为一种乐趣。



百词斩覆盖了从初高中、四六级、考研、到雅思、托福、SAT、GMAT、GRE等全部英语考试词表。适合从12岁到24岁的所有学生群体,备考英语。



1、支持离线使用,0流量背单词。

2、一个单词一张图,利用图形建立单词与真实环境的联系,打造最易记、最难忘的背单词软件。

3、直接添加好友,既能互相看见学习动态,还能一起冲刺每周排行榜。背单词,不再是一个人。

4、提供单词TV和单词电台,英语老师原创趣味内容去深度解读10000+个单词,提供更多样的学习方式。

5、参考美国SAT的词汇量评估模型,准确测试单词量,记录你成长的每一步。

6、锁屏背单词,在锁屏界面即可完美背单词,充分利用每天的琐碎时间。

7、初中/高中/ 四级/六级/考研/托福/雅思/专四/专八/SAT/GRE/GMAT全覆盖!

8、5种方式复习,背单词绝不能重复再重复!


我每天只记15个但坚持,基本没有漏掉过,但有时候软件在没有网络的情况下会打卡失效。


5.2、滴答双语阅读 APP


“滴答双语阅读”真正实现了中英文分段对照阅读,点击英文即可打开或关闭对应段落的译文;内嵌词典能够离线查单词;网络书库提供数十本双语书籍下载。


1. 中英文分段对照阅读, 一键打开或关闭对应段落的译文

2. 内嵌词典能够离线查单词,可以直接点击单词查询,不需要手工输入


小成本软件,但适合英语水平一般的人看小说,比背单词效果可能还好,一直想要一个8英寸左右的墨水屏Android系统平板,kindle好像扩展性不强


 


5.3、新东方背单词


新东方背单词软件不同于普通模式的单词记忆工具,它提供了更为强大、更有方向的记忆手段使您每一次单词记忆都变的更有效率,本款为新东方背单词5.0下载,在原有基础上对常用词汇进行了更新,让你背起单词来更加事半功倍

功能:单词初记、单词复习、测验与游戏、书籍管理、笔记本管理

4款让你事半功倍的帮助背单词的趣味游戏:单词拆图、迷宫赛跑、单词速降和无敌枪手

可以让你解决在英语学习中最大的障碍,即英语单词的词汇量问题

发音标准,例句多,形式多样



六、提高英文水平的建议与资源


6.1、提高英文水平的个人建议


(1)、自己起一个英文名称,作为网名和登录名。

(2)、将自己电脑中的中文版或汉化软件换成英文版,可以挑战一下英文操作系统,建议从英文手机系统开始。

(3)、选择一本适合自己的计算机英文教材。

(4)、保证一年至少读1-2本原版影印的计算机书,并坚持读完。

(5)、上网尽量多访问英文技术论坛和网站。不使用汉化帮助。

(6)、在程序中使用英文名称,坚持不用中文或汉语拼音作为变量名、字段名、文件和文件夹名(上过中文路径当的朋友是不是深有同感)

(7)、每月至少看1-2部原版电影,双语初学,去字幕练习听力,反复。

(8)、每天坚持记录和复习遇到的生词,对于缩略语,一定要搞清楚每个英文字母的含义。

(9)、最重要的一条:相信自己能学会(世界上最难的中文你都可以学会英文肯定没问题),遇到英文不逃避、坚持、重复、再坚持(制定计划)。

(10)、以前一段时间我很喜欢去Youtube看新闻与自己喜欢的节目,主要是看评论,原汁原味,还很有趣;后来就被墙了...

欢迎更多建议与方法,谢谢了!


6.2、翻译与双语视频字幕网站


http://fanyi.baidu.com/ 百度翻译,比以前要进步很多了,可以选择意思

http://fanyi.youdao.com/ 有道翻译,计算翻译比较准确

http://translate.google.cn/ google翻译,老牌翻译,大,强,但这几年变化不大

http://www.yinbiao5.com 音标网,支持批量单词音标

http://dict.cn/ 海词,例句多

http://assrt.net/ 射手网 双语字幕

http://www.zimuku.net/ 字幕库

http://subhd.com/main Sub HD 字幕站


6.3、双语电影


原声外语电影、电视剧、视频节目等作为学习材料,进行口语、听力、词句等方面的学习,称为“看电影学英语”。原声电影的原汁原味、内容丰富多彩、人物口音各异、语言环境真实,非常有助于练就一口地道口语。为大家整理出来55部最适合学习英语的中英文动画电影,有完整电影视频+中英字幕:



疯狂原始人


魔法奇缘

个人认为看这些双语电影时尽量慢,一句看懂、听懂、反复看自己喜欢的几部

下载字幕更加清楚,也可以是其它的英语电影或喜欢的节目


6.4、用听的学英语与背单词


如果您每天上下班坐车时间很长,跑步或其它运动时可以利用碎片化的时间学习英语,这里有两个方法:

1、有很多手机App像《喜马拉雅山》、《蜻蜓》、《凤凰FM》等自媒体平台上有不少可以听着学英语的栏目

2、我以前还找到了一些听着背单词的mp3,感觉还可以,基础2000个,进阶3000个,共1.08G:



七、下载


百词斩:http://www.baicizhan.com/

单词统计:https://pan.baidu.com/s/1bTy84u

新东方背单词:https://pan.baidu.com/s/1jIn1e0e 密码: z4eg

单词统计高级Excel: https://pan.baidu.com/s/1pKWvWtd 密码: 7xpu


小贴士:返回上一级搜索英语”获取更多相关文章。



推荐Java开发者必备微信号 


Java编程精选
微信号:JavaPush



推荐理由:
关注语言编程Java,分享、交流Java编程技巧和信息


 ▼长按下方↓↓↓二维码识别关注