Пишу бесплатно скрипты

Discussion in 'Поиск работы' started by Alekssss, Nov 12, 2018.

  1. The Chief

    The Chief Активный участник

    12,360
    1,125
    Момент, когда понимаешь, что безнадёжно отстал от жизни.

    Изначальный говнокод:
    Code:
    foreach($line in Get-Content -Path $SupposedInf -Tail 50) {
       if ( $line.startswith($UpdDate) -and $line.contains(" "+$IBCode+"#")) {
          тут делаем всякое
       }
    }
    
    Правильный и красивый говнокод:
    Code:
    foreach($line in Get-Content -Path $SupposedInf -Tail 50 | Where-Object { $_.startswith($UpdDate) -and $_.contains(" "+$IBCode+"#") } ) {
       тут делаем всякое
    }
    
     
  2. gerodoth

    gerodoth Активный участник

    10,579
    1,292
    мне кажется читабельнее | Where-Object { $_.startswith($UpdDate)} | Where-Object {$_.contains(" "+$IBCode+"#") }
     
  3. The Chief

    The Chief Активный участник

    12,360
    1,125
    @gerodoth, двойной пайп — лишний оверхед. Лучше этого избегать. Почему? Потому, что это не просто какой-то фильтр, а полная передача набора объектов для последующей обработки. Зачем делать это два раза, если достаточно один?

    Кстати, кто скажет, не гадая, почему и первое, и второе — всё равно говнокод, тому я сразу рукопожму.
     
    Last edited: Jul 26, 2019
  4. gerodoth

    gerodoth Активный участник

    10,579
    1,292
    потому что в форич можно наложить условия или потому что если умеешь в регкспы то все можно ззапихать в одно?
    люблю регэкспы но не умею
     
  5. The Chief

    The Chief Активный участник

    12,360
    1,125
    @gerodoth, не-а. Это вопрос вкуса. А вот -Tail 50 — вот самый говнокод. Брать весь файл слишком накладно, они там могут быть очень большие (логи обновлений с момента создания базы). Парсить на предмет первой строки с нужной датой можно, но всё равно вычитывать весь файл. Предположение «50 строк с хвоста точно содержат последнее обновление» — типичный говнокод.

    Кстати, отличное замечание. Пойду-ка, побыдлокодю…
     
  6. gerodoth

    gerodoth Активный участник

    10,579
    1,292
    я с него и начал думать, но он мне нужен раз в пол года, так что трудно дается
     
  7. имя

    имя Активный участник

    13,971
    2,674
    На странице сайта есть js простенький . Суть его такая: при попадании на страницу выводится окно через prompt (), в котором пользователь вводит некую информацию. После этого через document. write () пользователю выводится результат.
    Хочу видеть либо то, что он вводит, либо то, что видит в результате.
    В идеале - письмо мне на мыло с текстом "Пользователь ввёл число N"
    Реально это?