j2969719 / doublecmd-plugins

Additions for Double Commander (third-party)
100 stars 24 forks source link

Lua: Зачем лишняя проверка SysUtils.DirectoryExists()? #15

Closed Skif-off closed 6 years ago

Skif-off commented 6 years ago

В крайних коммитах добавлено

if (SysUtils.DirectoryExists(FileName)) then 
   return nil; 
end

а зачем? Там далее идёт

local attr = SysUtils.FileGetAttr(FileName);

можно и на другой атрибут здесь же проверить:

if (math.floor(attr / 0x00000010) % 2 ~= 0) then
  return nil; 
end

или объединить в одно условие с оператором or.

По идее, один запрос к файловой системе и два сравнения быстрее двух запросов (одного и того же, кажется) и двух сравнений?

j2969719 commented 6 years ago

а зачем?

https://www.youtube.com/watch?v=F2skk6RFFos а если серьезно, в моем отстойнике копипаста просто туда-сюда качует. там и саму проверку аттрибутов можно счас вырубить, хотя в тех конкретных случаях оно без надобности. говнокод есть говнокод. поменял

Skif-off commented 6 years ago

Если серьёзно, то если не все так делают, то многие :) Сам вроде вообще ни одного с нуля не сделал: сначала копипаста с одного из изкоробочных (когда их ещё два было, simplewdx.lua, кажется), потом - какой первый под курсор упадёт.