The point isn't to avoid using functions at all, just don't use them in the query.
DECLARE @dt1 datetime = CAST(DATEPART(YEAR,GETDATE()) AS CHAR(4))+'0101'
DECLARE @dt2 datetime = DATEADD(YEAR,1,@dt1)
-- You now have a range of dates for the current year in variables that remain constant in the query.
...WHERE DateOfInterest BETWEEN @dt1 AND @dt2