Para além de de deixar o código mais enxuto, acredito que ter usado o próprio fundo branco padrão do navegador é uma mais valia.
<canvas width="600" height="600"></canvas>
<script>
function desenhaTexto(texto, x, y) {
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.font = '15px Georgia';
pincel.fillStyle = 'black';
pincel.fillText(texto, x, y);
}
function desenhaQuadrado(x, y, tamanho, cor){
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
x = x;
pincel.fillStyle = cor;
pincel.fillRect(x, y, tamanho, tamanho);
while (x < 200){
pincel.strokeStyle = 'black';
pincel.strokeRect(x , y, tamanho, tamanho);
x = x + 50;
}
}
desenhaTexto("Qual é a fração?", 0, 30);
y = 50;
for (x = 0; x < 150; x = x + 50){
desenhaQuadrado(x, y, 50, 'green');
}
</script>