先来一段代码:public void connecttoserver(String socketData) throws UnknownHostException, IOException
{
Socket socket=RequestSocket("192.168.0.107",5000);
SendMsg(socket,socketData);
String txt = ReceiveMsg(socket);
this.chattxt2.setText(txt);
}
private Socket RequestSocket(String host,int port) throws UnknownHostException, IOException
{
Socket socket = new Socket(host, port);
return socket;
}RequestSocket这个函数是干嘛的,奶奶的嫌代码短吗?
{
Socket socket=RequestSocket("192.168.0.107",5000);
SendMsg(socket,socketData);
String txt = ReceiveMsg(socket);
this.chattxt2.setText(txt);
}
private Socket RequestSocket(String host,int port) throws UnknownHostException, IOException
{
Socket socket = new Socket(host, port);
return socket;
}RequestSocket这个函数是干嘛的,奶奶的嫌代码短吗?
{
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write(msg.replace("\n", " ")+"\n");
writer.flush();
}
private String ReceiveMsg(Socket socket) throws IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String txt=reader.readLine();
return txt; }
我直接整成如下代码:Socket socket=new Socket("192.168.0.107",5000);
SendMsg(socket,socketData);
this.chattxt2.setText(new BufferedReader(new InputStreamReader(socket.getInputStream())).readline());
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write(socketData.replace("\n", " ")+"\n");
writer.flush();
this.chattxt2.setText(new BufferedReader(new InputStreamReader(socket.getInputStream())).readline());
真像网上说的搞C的看不起搞C++的,搞C++的看不起搞Java的,搞Java的看不起搞.Net的,搞.Net的看不起搞JS的,搞JS的看不起搞HTML的,搞HTML的看不起搞美工的。
最后搞美工的周末去泡MM的时候,一群傻X在那里加班。
就像搞C++的,有的人连最常见的数据类型都喜欢定义一个新的,例如 #define MYBOOL BOOL,然后代码里会充斥着 MYBOOL 的使用,在很多情况下,这是一个良好的习惯,例如开发一个跨平台应用,但有些人会认为这是多此一举。
本为WINDOWS下, 就已经定义了一堆宏, 跨平台也只有LINUX, UNIX这类, 把WINDOWS的类型在这两个平台DEFINE一下也不见得有什么问题的难度.只有API才需要用宏或者使用自己写的函数或者类, 普通的类型, 定义不定义..也只在于阅读上.
楼主转的这段的代码的作者的修养也不行RequestSocket,这命名规范就不对。
做了十年C++,整天扯着跨平台.到今天从来都没有碰到过要跨的平台.
也许等换了平台.我会重写某些代码,以实现在另一个平台下的功能.
自己写的代码,能在一个平台下运行的可靠就OK可.跨平台对我这种普通程序员,也许只是个传说.
做好自己平台下的事情才是正道.