Как изучать/преподавать Корнишон для Огурца

Кажется, что NAudio предоставляет то, что вы ищете

ISampleProvider

Преимущество IWaveProvider в том, что его можно использовать для представления аудио в любом формате. Он может использоваться для 16,24 или 32-битного звука PCM и даже для сжатого звука (MP3, G.711 и т. Д.). Но если вы выполняете какой-либо вид обработки или анализа сигнала на аудио, очень вероятно, что вы хотите, чтобы аудио было в формате 32-битного IEEE с плавающей запятой. И это может быть трудной попыткой прочитать значения с плавающей запятой из байта [] в C #.

Таким образом, ISampleProvider определяет интерфейс, в котором все сэмплы представляют собой 32-битные числа с плавающей запятой

blockquote>
public interface ISampleProvider { 
    WaveFormat WaveFormat { get; } 
    int Read(float[] buffer, int offset, int.count); 
}

https://github.com/naudio/NAudio/blob/master/Docs. /WaveProviders.md#isampleprovider

Создайте пользовательский SampleProvider, который принимает входной SampleProvider в вашем конструкторе. Используйте входной поставщик сэмплов, чтобы получить сэмплы, умножьте их на коэффициент усиления: Выходной сэмпл = коэффициент усиления х входной сэмпл

Используйте WaveFileWriter.CreateWaveFile, передавая customSampleProvider.ToWaveProvider () к соответствующему аргументу, для вывода обратно в файл wav. ]

24
задан the Tin Man 6 January 2015 в 20:51
поделиться

4 ответа

То, что я сделал с бизнес-аналитиками в нашей компании, - это обучить их структуре, дав им ключевые слова: Учитывая , Когда , Затем , И для сценариев и Для , Как и Я хочу для функций.

Затем я привел им простой пример и сказал им записывать свои собственные функции в том виде, в каком они думали, что они должны быть написаны. Как ни странно, структура не требует пояснений, и написанные ими функции стали отличным началом.
В качестве и я хочу для функций.

Затем я привел им простой пример и сказал им записать свои собственные функции в том виде, в каком они думали, что они должны быть написаны. Как ни странно, структура не требует пояснений, и написанные ими функции стали отличным началом.
В качестве и я хочу для функций.

Затем я привел им простой пример и сказал им записать свои собственные функции в том виде, в каком они думали, что они должны быть написаны. Как ни странно, структура не требует пояснений, и написанные ими функции стали отличным началом.
Единственная большая проблема заключалась в том, что они содержали слишком много логики на каждом этапе сценария. Я решил это, итеративно спрашивая «почему?» которые в большинстве случаев выявили основные функции, которые им нужны, и мы соответствующим образом переписали сценарии.

Давая им руководящие принципы и позволяя им самим писать функции, они запачкали руки и были вынуждены думать о том, что они написали. Сегодня они гораздо лучше понимают вопрос «почему?» итерации уже не так распространены.

Конечно, вам нужно, чтобы бизнес-аналитики и разработчики работали в тесном сотрудничестве, а функции, которые пишут аналитики, должны действовать только в качестве начала. Помните, что функции Cucumber - это просто общий язык между аналитиками и разработчиками. Им по-прежнему нужно часто сидеть вместе, чтобы разговаривать друг с другом:

29
ответ дан 28 November 2019 в 23:10
поделиться

http://cukes.info - отличный ресурс для обучения людей тому, как их писать. Бен Мейби также сделал отличную презентацию о огурце на конференции Mountain West Ruby Conference 2009.

9
ответ дан Shadow The Princess Wizard 28 November 2019 в 23:10
поделиться

Мы учим Gherkin (для SpecFlow) аналогичным образом, как mrD это описал.

Я думаю, что очень важно, чтобы аудитория была знакома с основным намерением «Спецификация на примере», гибким анализом требований и BDD, поэтому обычно мы сначала начинаем обсуждать предысторию. Мы также показываем пример сценария Gherkin и объясняем самые основы (например, Given / When / Then / But и таблицы).

Затем мы возьмем простой пример (который знаком каждому), например, «добавить товары в корзину» (с некоторой ориентацией, конечно) и позволить им сформулировать критерии приемлемости в небольших группах.

После этого каждая команда показывает / объясняет свои решения, и мы обсуждаем хорошие и плохие практики, которые присутствовали. После второй команды вы можете увидеть почти все наиболее важные (хорошие или плохие) практики.

Я также ввожу окончательное решение и показываю здесь альтернативные способы описания сценариев (фон, схема сценария и т. Д.). Если будет достаточно времени, я также покажу, как автоматизировать & amp; реализовать воображаемую функциональность, основанную на этом. Это также помогает понять некоторые важные правила, которым нужно следовать, что значительно упрощает автоматизацию.

Хотя я никогда не знаю заранее, что произойдет, обычно это упражнение - лучшая часть нашего обучения BDD.

3
ответ дан Gaspar Nagy 28 November 2019 в 23:10
поделиться

Having just worked on an agile project using cucumber for the first time I think that the best way to learn Cucumber and Gherkin is to get your hands dirty.

I may be wrong but I get the impression from your question you are wanting to train your BAs to write Gherkin; then they will write a bunch of features and hand them to developers.

This is definitely not the way to go. It is much better to have BA's devs and users (if possible) working together to write your scenarios and build them as you go. Then you all learn together what works and what doesn't.

We tried having a BA write entire features and hand them over. We (the devs) ended up having to do major rewrites because the implementation ended up different to that originally envisioned by the BA. We also had to change the syntax of the steps and do find and replace through the whole file.

Do one scenario at a time, get it working then move on to the next. An iterative approach reduces wasted effort and makes sure you all understand how you want the app to behave.

In terms of how to write steps it is best to start with the ones that come with Cucumber and copy and adapt them as you work on your project to fit your particular application. There is no right or wrong, it is what works for you. The documentation on the cucumber sites is generally good and will be a valuable resource as you learn more.

8
ответ дан 28 November 2019 в 23:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: