ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

普通程序员和顶级程序员5个思维模式上的区分!

2022-10-01 20:59:34  阅读:61  来源: 互联网

标签:


丑话先说在前面:这些都仅仅是顶尖程序员的一些根本的思想方法,不能代表你学了这个就能成为顶尖的程序员。假如你想要更具体的了解在Google,Facebook,Twitter这些公司的顶尖程序员是怎么工作的,就多看看他们的博客吧

下面开始正题:顶级程序员优于普通程序员的5个基础思维模式

跟着顶尖程序员才能学到顶尖的思路

突入大量的时间去研究新的代码

能随意解决各种开发过程中遇到的问题,精通调试各种代码

珍惜时间,不要花时间去做机器可以代替你去做的事情。

优化自己的迭代速度,注意所有琐碎的细节并逐步改善他们

用系统性的思考方式,写出真正有影响力的代码

这些疑问都不是很简单就能答复的,但是在写代码的时候,你最起码要理解你的代码,要知道你的代码最后能不能得到最佳的结果。好的编程习惯一定要从点滴上面养成 流程:我打算从好多个点为大家仔细解析一下这个Java程序的开发思路和实现过程

1.Awt/Swing 包制作的聊天界面(全部用Java代码实现)

一个java窗体的大致流程:窗体(Frame)――容器(Container)――(设置容器布局)――面板 (Panel)――(设置面板布局)――控件

2.有了上面知识的铺垫,我们可以再写一个简单的登录界面了。(如果需要更多的企业求职加分项目和案例的源码及思路分享!包括答疑解惑!)

登陆界面Java代码

import java.awt.*;

import javax.swing.*;

class wyMain extends JFrame {

JTextField tsend; //在外部声明文本框,用来写留言

JComboBox clist; //声明下拉列表框,用来罗列在线用户

JTextArea ta; //声明大型文本区,用来显示聊天记录

wyMain(String title)

{

super(title); //访问父类

JFrame 的构造函数,为窗体实现标题

this.setSize(400,300); //窗体为 400 宽,300 高

this.setLocation(150,250);

Container con=this.getContentPane();

con.setLayout(new BorderLayout()); //设置窗体布局为 BorderLayout

JPanel pp=new JPanel();

JPanel p1=new JPanel();

JPanel p2=new JPanel();

ta=new JTextArea(); //实例化大型文本区

ta.disable(); //设置只读属性

pp.setLayout(new GridLayout(2,1)); //把 pp 设成[2,1]格式的网格布局

pp.add(p1); //在(1,1)单元格放 p1

pp.add(p2); //在(2,1)单元格放 p2

con.add(p,BorderLayout.NORTH); // Container 把 pp 放在窗体北边 con.add(ta,BorderLayout.CENTER);

//Container 把文本区放在中间部位,让它能拥有足够的空间

JLabel l1=new JLabel(“留言:”);

JLabel l2=new JLabel(“To:”);

tsend=new JTextField(30); //实例化文本框

clist=new JComboBox(); //实例化下拉列表框

JButton bSend=new JButton(“Send”);

p1.add(l1);

p1.add(tsend);

p2.add(l2);

p2.add(clist);

p2.add(bSend);

clist.addItem(“所有人”); //下拉列表框添加一项内容

}

}

我们现在有了一个叫做“主界面”的 java类,我们给这个类加上主函数再运 行:

public static void main(String args[]){

wyMain wm=new wyMain(“聊天窗口”);

wm.show();

}

3.添加事件

我们的聊天程序现在已经有了界面了,但是我们必须想法子让界面上的控件能 够实现它的具体功能,

不然的话界面再漂亮也是毫无意义的。于是我们需要为 窗体定义一些事件。

事件1

事件2

设立事件监听器:拿上面的例子来说,人的皮肤就是负责监听事件传来消息的监听器 。在java 中,事件监听器就是一个接口。 我们如果想让窗体对一种事件做出响应,我们就必须为窗体植上“皮 肤”—— 设立监听器。

为了登录功能能够实现,我们现在在 wyClient 中设立按钮事件的监听 器。(Java代码)

监听器弄好之后,聊天的界面基本就完成了

I/O 操作(聊天记录)

我们在上个章节实现了程序的界面,包括像布局、事件、控件、容器等不 可或缺的基本因素。这时我们会发现一个问题:不论如何在界面中发送信息, 关闭程序后再打开,所有的消息都会清空掉。因为这时我们的程序根本就是重 新创建的,原来的变量控件都已经不存在了。 这时我们需要再写一段代码,把输入过的留言都写到一个文件中。在java中操作文件需要用到输入流和输出流。我们需要在程序中导入java.io.*工具 包。包中放的是一组流类。

这里我们只简单讲解一下字节输入流(FileInputStream )和字节输出流 (FileOutputStream)。

字符输入流(FileInputStream)

FileInputStream 类可以实例化,用于从磁盘文件读取数据。我们可以 以下面几种方式实例化该类:

(1)将文件名作为构造函数的参数,如: FileInputStream fs = new FileInputStream(“c:/temp.txt”);

(2)将File 类的对象作为构造函数的参数,如: File f = new File(“c:/temp.txt”); FileInputStream fs = new FileInputStream(f);

File 类是一个用来描述文件的文件名或者所在路径的java 类。

字符输出流(FileOutputStream)

我们把上面的代码的功能加强一下,变成能够拥有写入功能的代码。就叫字符输出流(FileOutputStream)

用java.net包编程(用户身份验证和通讯)

现在我们的聊天程序有事件响应,可以登录,可以留言,留言还可以被长 期保存起来。不过美中不足的是:

一、目前为止我们的用户名和密码验证一直是在客户端进行的。如果我们 的程序是 BS 结构的,那么我们的验证就不能放在客户端上进行,那样的话“BS 结构”会变得只是一句空话。

二、使用一个 CS 结构的聊天程序并不是在聊天,而是在自言自语,我们 需要通过途径与网络中别的用户取得联系。

要实现 BS 结构的理念,我们就得编写一个能实现服务器功能的程序。

java.net 包为网络化编程提供了功能强大的工具—— 一些基于套接字的客 户端/服务器端的类。(套接字是一种进程间的数据交换机制,这些进程既可以在同一机器上,也可 以通过网络连接的不同机器上。换句话说,套接字起到通信端点的作用。单个套 接字是一个端点,而一对套接字就构成了双向通信的通道,使即使不在同一台机 器上的程序也可以通过网路进行数据交换,直到其中一个端点关闭连接。 套接字与主机地址和端口地址相关联。主机地址是客户端或服务器程序所在 的主机的 IP 地址。端口地址是机器使用的通信端口。)的客 户端/服务器端的类。


 

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有