我有一个由Github Pages托管并由Jekyll提供支持的博客。 要使用Jekyll创建新帖子,您需要在文件的标题中添加一些信息,至少包含以下详细信息:
---
layout: [layout]
title: [title]
date: [date]
---
文件名必须包含日期。例如:
2016-10-21-name-of-the-post.md
我用Java创建了一个程序,用GUI自动格式化文件。所以我只需要写内容。我不得不知道它是否是一个好的代码。要避免的事情在哪里?请注意,我是一名新程序员。
这是代码:
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.io.PrintWriter;
import java.io.IOException;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Post extends JFrame implements ActionListener{
// GUI THINGS
JPanel pl = new JPanel();
JTextField tfLayout = new JTextField("layout: default", 20);
JTextField tfTitle = new JTextField("title:", 20);
JTextField tffl = new JTextField("filename", 20);
JTextArea tfDes = new JTextArea("Text",10,20);
JButton b1 = new JButton("Post immediately");
String filename = "/path/to/the/_posts/folder";
PrintWriter pw = null;
Scanner sc = new Scanner(System.in);
DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String layout = "";
String title = "";
String description = "";
Date date = new Date();
String actualdate = df.format(date);
JTextField tfDate = new JTextField("date: " + actualdate);
String format;
public Post(){
super("Nouveau post");
filename += new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + "-";
setContentPane(pl);
setLayout(new GridLayout(5,1));
tfDes.setLineWrap(true);
tfDes.setWrapStyleWord(true);
pl.add(tffl);
pl.add(tfLayout);
pl.add(tfTitle);
pl.add(tfDate);
pl.add(tfDes);
pl.add(b1);
b1.addActionListener(this);
}
public static void main(String[] args){
Post window = new Post();
window.pack();
window.setLocationRelativeTo(null);
window.setSize(400, 300);
window.setVisible(true);
}
public void actionPerformed(ActionEvent ae) {
layout = tfLayout.getText();
filename += tffl.getText() + ".md";
title = tfTitle.getText();
description = tfDes.getText();
actualdate = tfDate.getText();
format = "---\n" + layout + "\n" + title + "\n" + actualdate +
"\n---\n<p>" + description + "</p>";
try {
pw = new PrintWriter(filename, "UTF-8");
} catch(IOException io) {
System.out.println("ERROR while creating the file");
}
pw.print(format);
pw.close();
JOptionPane.showMessageDialog(this, "Sucesssfully created a post.");
this.dispose();
}
}
答案 0 :(得分:1)
这个问题太笼统了。
但我建议将您的代码拆分为Model-View-Presenter。将Post放入自己的类中,将视图的逻辑放入自己的类中,并实现一个处理输入的演示者。如果您对优秀代码有进一步的兴趣,我还建议您阅读一些关于Clean Coding的内容(例如Robert C. Martin)。
另外,为常量制作最终变量。