我有一個由Github Pages託管的博客,由Jekyll提供支持。 要創建一個新的職位與哲基爾你需要把一些信息的文件的文件頭至少具有以下細節:這是一個用Java創建文件模型的好代碼嗎?
---
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();
}
}
我投票結束這個問題作爲題外話,因爲它屬於[代碼評論](http://codereview.stackexchange.com/)堆棧交換。 –
CK:請注意,這並不意味着你的問題是不好的,只是你會在Code Review找到更好的答案。祝你好運! –