Fatti
W. è stato assunto da Z. SA come calcolatore. A partire dal 1986, ha lavorato molte ore straordinarie, indicate sulle sue buste paga mensili. Nel marzo 1994, W. ha chiesto il pagamento delle sue ore straordinarie, il cui totale ammontava a 852,25 ore nel dicembre 1995. Nel giugno 1996, il datore di lavoro ha deciso di azzerare il conteggio delle ore straordinarie, rimproverando a W. di aver prolungato le sue vacanze senza autorizzazione e criticando la sua lentezza come unica causa delle ore straordinarie. Il 18 luglio 1996, Z. SA ha rescisso il contratto di lavoro di W. con effetto al 31 ottobre 1996. Il 27 marzo 1997, W. ha citato in giudizio Z. SA per il pagamento di 37'861 fr. a titolo di retribuzione per le ore straordinarie.
Legge
Ai sensi dell'art. 321c cpv. 3 CO, il datore di lavoro è tenuto a retribuire le ore straordinarie, salvo diversa pattuizione in un accordo scritto, in un contratto-tipo di lavoro o in una convenzione collettiva. Tuttavia, il lavoratore non può rinunciare validamente alla retribuzione delle ore straordinarie già prestate, poiché l'art. 321c cpv. 3 CO è in parte imperativo. Sebbene le parti possano concordare che le future ore straordinarie non saranno retribuite, tale rinuncia è valida solo se riveste una delle forme prescritte dalla legge. Nel caso di…