I am having issues reading the 24bit data from a Hx711 module.

I used the program given here :

The datasheet mentions that when the data pin goes to 1, when can start reading the 24 bit.
Issue 1 : Why use 15 loop when the datasheet mentions 24 bits are to be read ??
Issue 2 : Why start the shifting immediately, shouldn't the data be fetch first, then do the shifting ?

For i = 0 To 15
   High clock
   Hx711Cnt = Hx711Cnt <<1
   Low clock
   if dataa=1 then Hx711Cnt=Hx711Cnt+1