Re: Як козаки роботу шукали.
Всім привіт. Я цей чувак який відмовив Rookie у роботі. Зразу напишу, якщо я в тексті пишу "фейспалм" - значить я роблю ось так.
Цей спойлер можете залишити відкритим і читати дальше.
PHP программування, звисно рiч не проста. Особливо якщо ти бiльш поважаешь С in Linux або маешь внутрiшню вiдповiдальнiсть за СPU-low-costing програмний чартер.
Фейспалм. Я також поважаю лінукс і C і PHP і Java і майж все інше. У кожної мови своя ніша.
Фейспалм 2. Rookie ви говорите про СPU-low-costing і в масив заганяєте інформацію про всі файли у папці
Адже, якщо ти повний ламер з описа iнших, маешь задавати питання поважним людям.
...
Менi до лоба - брудний ярлик ламера.
Особисто я вас ламером не називав. Ні в листах, ні в постах на форумі.
Довелося менi зустрiти на цьому форумi гуру PHP що блукав у пошуках жодного файного junior майже 2 роки.
Фейспалм. Те що тема висить довго, це не означає що я шукав майже 2 роки
Прошу прийняти до зауваження - адже ранiше у життi до цього випадку я нiколи не працював у PHP, та мав довести швидке самонавчання за день.
У вас походу була ціль - довести швидке самонавчання. У мене ціль - виявити наскільки ви добре знаєте PHP. А от наскільки добре у вас з самонавчанням виявляється на випробному терміні. Це у мене такий підхід.
Тому, шановнi, маю до вас запитання де та що помити рефакторiнгово?
Моя думка про рефакторинг. Рефакторинг - це така штука яка допомагає робочому коду працювати краще, або підлаштувати його під нові задачі.
Розкажу про ваші помилки детально:
1. Static у класах. Це груба помилка. У пункті 2 опишу детально.
2. Я відправив вам цілий файл і вказав 2 рядки де вам треба написати код. Ви перевіряли видалили декілька останніх умов і виявляється що коли ви використовуєте static то у вас працює тільки перша умова, наступні звісно не працюють. Ви написали
В вашем задании не было оговорено, должен ли результат выдаваться на групповой запрос или на единичный.
- Це цитата із листа. Але я ж і не написав що результат має працювати тільки на одинарний запит. Одним словом для мене дивно міняти файл там де не треба а потім казати що я щось не розказав. Можна взагалі все по різних файлах розкидати і сказти "Ви ж не казали реалізовувати автолодер" Фейспалм одним словом))
Нє. Я стільки не випив ще.
'/tmp/data/test.txt' і '/tmp/data/' - звичайні строки в PHP. Невже їх проблема порівняти?
Ви не повірите але не ви один Vo_Vik хто так думаєте. Є початківці які саме так і роблять. Інші порівнюють рядки через explode або ще якось.
Порiвняння якихось строк не дае абсолютно нiякоi iнформации щодо файловоi системи.
Саме так.
Але коли ви знаєте що /tmp/data/ директорія існує і /tmp/data/test.txt файл існує - відповідно ви порівнююєте строки і знаєте чи файл існує в директорії.
$file = new File('/tmp/data/test.txt');
$file->isInDirectory(new DirectoryInfo('/tmp/data/')); // return true
$file->isInDirectory(new DirectoryInfo('/tmp')); // return true
Фішка така. Якщо у вас файл /tmp/data/test.txt існує і є директорія /tmp відповідно файл test.txt знаходиться у директорії /tmp (думаю це зрозумміло з умови)
У вашому коді ця фішка не реалізована. Відповідно цей код не виконує умови задачі.
А якщо 1000 юзерiв звернуться до вашого сайту по ваш несмикаючий заздалогiдь у кеш метод, сервер не стане паровозом?
Хiба вам бабуся про техничне завдання не казала казки на нiч?
Я не бачу там про 1000 файлiв i не чаклун.
Алеж для серверу понад усе важливо time response
Фейспалм. В першу чергу реалізуйте код який працює, а потім доказуйте що він нормальний.
Іменно так і визначається хто більш менш шарить а хто не шарить. Ніхто не казав що має бути оптимальний алгоритм, але кожен поважаючий себе кодер - пише оптимальне рішення
П.С. Якщо б завдання було складне для джуніорів я б зрозумів це давно. Але є кандидати які успішно його пройшли і працюють. Також є кандадати які успішно пройшли але завалили співбесіду.
Оновлено:
І ще один фейспалм. Наскільки я знаю, ви вивчаєте китайську, вивчіть перше українську.