One way would be to use two minipages and the listings package:

While you are at it, you can also add a bit of syntax highlighting, and import an external file which has the source code you want to show:

Notes:
Code: Basic
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{minipage}[t]{0.45\linewidth}
\begin{lstlisting}[language=c++]
// before refactoring
class A {
public int f;
void m (int i) {
f = i + f;
}
}
\end{lstlisting}
\end{minipage}%
\hfill\vrule\hfill
\begin{minipage}[t]{0.45\linewidth}
\begin{lstlisting}[language=c++]
// after refactoring
class A {
private int f;
void m(int i) {
setF(i * getF()();
}
public int getF() {
return this.F;
}
public void setF(int f) {
this.f = f;
}
}
\end{lstlisting}
\end{minipage}%
\end{document}
Code: Fancy
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\usepackage{filecontents}
\begin{filecontents*}{before.c}
// before refactoring
class A {
public int f;
void m (int i) {
f = i + f;
}
}
\end{filecontents*}
\begin{filecontents*}{after.c}
// after refactoring
class A {
private int f;
void m(int i) {
setF(i * getF()();
}
public int getF() {
return this.F;
}
public void setF(int f) {
this.f = f;
}
}
\end{filecontents*}
\lstdefinestyle{MyStyle}{ %
language=C++,
backgroundcolor=\color{gray!10},
basicstyle=\small,
basicstyle=\small\ttfamily,
keywordstyle=\color{red}
}
\begin{document}
\begin{minipage}[t]{0.45\linewidth}
\lstinputlisting[style=MyStyle]{before.c}
\end{minipage}%
\hfill\vrule\hfill
\begin{minipage}[t]{0.45\linewidth}
\lstinputlisting[style=MyStyle]{after.c}
\end{minipage}
\end{document}