码农的自我修养笔记
1.工具的使用
公欲成其事,必先利其器,因此学会使用工具对于『码农』来说,真实所谓的必备的技能了:
1.1 Vscode的使用
Vscode快捷键
1.新建文件:chtr+n 2.新开窗口:ctrl+shift+n 3.分屏:ctrl+1/2/3 4.切换文件:alt+1/2/3或ctrl+tab 5.关闭当前窗口:ctrl+w 6.关闭所有已保存窗口:ctrl+k+w 7.显示/隐藏左侧边栏:ctrl+b 8.文件重命名:鼠标选中+f2 9.自动换行:alt+z(标签过长需要拖动编辑器下方滚动条阅读时不太方便,可以一键换行) 10.注释:ctrl+/ 11.多行编辑:alt+鼠标左键 12.隐藏/显示终端:ctrl+~ 13.查找并打开文件:ctrl+p 14.选中当前单词:ctrl+d 如果想选中所有此单词,ctrl+shift+L 15.文件内容查找替换:ctrl+f ctrl+h ,替换一个ctrl+shift+1,替换所有ctrl+alt+enter 16.项目全局搜索:ctrl+shift+f 17.移动当前行,向上alt+up(方向键↑) 向下alt+down 18.在当前行上方插入一行:ctrl+shift+enter 20.跳转到文件头部/尾部:ctrl+home/end 21.选中光标到行首/行尾文本:shift+home/end 22.选中部分文字:shift+left/right/up/down 23.删除当前行:ctrl+shift+k,会与搜狗输入法软键盘冲突(我更喜欢ctrl+x,把剪切当删除用) 24.更改语言模式:建议自定义修改为ctrl+k
1.2 Git命令的使用
git的基本命令如下:
git init # 初始化⼀个本地版本库
git status # 查看当前workspace的状态
git add [FILES] # 把⽂件添加到index
git commit -m "wrote a commit” # 把⽂件提交到仓库
git log # 查看commit的⽇志,查看当前HEAD之前的commit
git reflog # 可以查看当前HEAD之后的commit,可以回到未来
git reset --hard HEAD^ #恢复至HEAD的(过去)前一个
git reset --hard commit-id #恢复记录到commit-id(过去或未来)
git clone https://github.com/xxx/xxx.git # 通过clone远端的版本库从⽽在本地创建⼀个版本库,需要您先在github.com上注册账号并创建⼀个版本库
git remote -v # 查看远程库信息
git pull # 将远程repo更新到本地,实际上是git fetch + git merge
git push # 将本地commit更新到远程repo
常用命令演示如下:
1.初始化本地库和查勘状态
2、从远程仓库克隆文件
3、现在在桌面新建test.java文件,并用nano打开编辑
4、然后使用 commit命令将文件提交到本地库中
5、之后,使用remote命令关联远程仓库
6、在关联远程仓库之后,就可以使用push命令上传到远程仓库,其中需要配置用户名和密码
7、然后,在网页端刷新,就可以显示新上传的文件了
但是!!这命令行实在是太不方便了,作为Java开发从业者,集成到IDE中的Git要比命令行方便的多!!!
androidStdio(同IDEA)中git的选项如下图所示
那么如何clone一个远程库呢?在开始界面选择『Check Out Project from Version Control』下面的Git的选项
然后选择远程库即可,更强大的是,他会呈现登录账户下面的所有的仓库,如果需要clone其他的仓库,那么就需要手动添加地址
Vim的替代品 nano
Vim总体来说,一直都是非常方便和强大的,但是Vim是对新手不友好的,现在推荐一个Vim的替代品:『nano』编辑器,他也是Linux自带的编辑器,同时比vim跟容易上手,在编辑部分的下面是快捷键的提示,再也不用盯着黑框框发呆了。。
二、程序的设计
2.1 回调函数的设计
千言万语不如动手实操,下面实现的是一个Java语言的回调函数的测试。在test方法中回调了callbackInterface的add方法。
public class testCallBack { public static void main(String[] args){ callbackInterface callback=new callbackClass(); new testCallBack().test("hello",callback); } //测试回调方法 public void test(String s,callbackInterface callbackInterface){ //调用回调方法 System.out.println(callbackInterface.add(s)); } } //回调方法的接口 interface callbackInterface{ String add(String s); } //回调方法的具体实现类 class callbackClass implements callbackInterface{ @Override public String add(String s) { return s+"回调返回"; } }
2.2 模块化设计
程序中的模块化设计就是将程序解耦合,功能分开,类似于23中设计模式中的代理模式。